我试图在高点线系列图中用虚线连接零点上的点。
我能够让它适用于数据数组中x值的非日期值。 Fiddle 1
但是,当数据数组的x值为UTC日期值时,系列区域未按预期工作。 Fiddle 2
就像我写这个问题一样,我意识到这里的问题是遍历buildZones函数中的多维数组。
我该如何解决这个问题?
$(function() {
var data1 = [[1505715244000,84],[1505792275000,96],[1507004151000,105],[1507004493000,null],[1507004824000,null],[1507004912000,101],[1507180353000,90],[1507261620000,109],[1507262417000,100]]
var seriesdata = [{type: 'spline', name: "ABC", data: data1,zones: null,connectNulls: true,zoneAxis: 'x', yAxis: 0,
showInLegend: false
};
seriesdata[0].zones=buildZones(data1);
function buildZones(data) {
var zones = [],
i = -1, len = data.length, current, previous, dashStyle, value;
while (data[++i][1] === null);
zones.push({
value: i
});
while (++i < len) {
previous = data[i - 1][1];
current = data[i][1];
dashStyle = '';
if (previous !== null && current === null) {
dashStyle = 'solid';
value = i - 1;
} else if (previous === null && current !== null) {
dashStyle = 'dot';
value = i;
}
if (dashStyle) {
zones.push({
dashStyle: dashStyle,
value: value
});
}
}
console.log(zones)
return zones;
}
var chart = Highcharts.stockChart('container', {
/* chart: {
defaultSeriesType: 'spline',
renderTo: 'container'
},*/
plotOptions: {
series: {
marker: {
enabled: true
}
}
},
series: [seriesdata[0]]
});
});
答案 0 :(得分:0)
我能够弄清楚。我只需要更改推送值
function buildZones(data) {
var zones = [],
i = -1, len = data.length, current, previous, dashStyle, value;
while (data[++i][1] === null);
zones.push({
value:data[i][0]
});
while (++i < len) {
previous = data[i - 1][1];
current = data[i][1];
dashStyle = '';
if (previous !== null && current === null) {
dashStyle = 'solid';
value = data[i - 1][0];
} else if (previous === null && current !== null) {
dashStyle = 'dot';
value = data[i][0];
}
if (dashStyle) {
zones.push({
dashStyle: dashStyle,
value: value
});
}
}
console.log(zones)
return zones;
}