曲线返回值
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;
}