echarts 单线 改变其中的某个点以及连着的线段颜色

在这里插入图片描述
曲线返回值

let value={
		105: {
			"1741795200000": [10],
			"1741795500000": [10],
			"1741795800000": [10],
			"1741796100000": [10],
			"1741796400000": [10],
			"1741796700000": [10],
			"1741797000000": [10],
			"1741797300000": [10],
			"1741797600000": [10],
			"1741797900000": [10],
			"1741798200000": [10],
			"1741798500000": [10],
			"1741798800000": [10],
			"1741799100000": [10],
			"1741799400000": [10],
			"1741799700000": [10],
			"1741800000000": [10],
			"1741800300000": [10],
			"1741800600000": [10],
			"1741800900000": [10],
			"1741801200000": [10],
			"1741801500000": [10],
			"1741801800000": [10],
			"1741802100000": [10],
			"1741802400000": [10],
			"1741802700000": [10],
			"1741803000000": [10],
			"1741803300000": [10],
			"1741803600000": [10],
			"1741803900000": [10],
			"1741804200000": [10],
			"1741804500000": [10],
			"1741804800000": [10],
			"1741805100000": [10],
			"1741805400000": [10],
			"1741805700000": [10],
			"1741806000000": [10],
			"1741806300000": [10,1],
			"1741806600000": [10,1],
			"1741806900000": [10],
			"1741807200000": [10,1],
			"1741807500000": [10],
			"1741807800000": [10,1],
			"1741808100000": [10,1],
			"1741808400000": [10,1],
		}
	}

其中数组中后面有1 的就是需要标记的
其中主要代码

 option.series[0].data = objToList2(res[105], k);
 xAxisData = dateNumberSort(res[105]);
 option.visualMap = {
     show: false,
     dimension: 0,
     pieces: [{
         lte: 0,
         color: 'green'
     }],  //pieces的值由动态数据决定
     outOfRange: {
         color: 'green'
     }
 }
 option.visualMap.pieces = option.visualMap.pieces.concat(getVisiualMapData(res[typeIndex], k))
 option.xAxis.axisLabel.formatter = (value, index) => {
// console.log("-----------")
     return new Date(value).format("hh:mm");
 };
 option.xAxis.min = Number(xAxisData[0]);
 option.xAxis.max = Number(xAxisData.slice(-1)[0]);


function objToList2(obj, k = 1) {
    let data = [];
    for (const key in obj) {
        // console.log("objToList2", fixed(obj[key][0] * k, 1000), obj[key][1])
        if (obj[key][1] == 1) {
            data.push({
                value: [Number(key), obj[key] != null ? fixed(obj[key][0] * k, 1000) : null], itemStyle: {
                    color: "#ff0707"
                }
            });
        } else {
            data.push([Number(key), obj[key] != null ? fixed(obj[key][0] * k, 1000) : null]);
        }
    }
    return data
}


function getVisiualMapData(obj, k = 1) {
    let data = [];
    for (const key in obj) {
        if (obj[key][1] == 1 && obj[Number(key) + 5 * 60 * 1000] && obj[Number(key) + 5 * 60 * 1000][1] == 1) {
            // console.log("getVisiualMapData", key, obj[key], obj[Number(key) + 5 * 60 * 1000])
            if (obj[key][0] != null) {
                data.push({
                    gt: Number(key),
                    lte: Number(key) + 5 * 60 * 1000,
                    color: 'red'
                })
            }

        }
    }
    return data
}

function dateNumberSort(list) {
    let newList = Object.keys(list).sort((a, b) => a - b);
    return newList;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值