我已经动态更新了areapline图表,每秒都会收到新系列的点数。是否可以在烛台视图中表示相同的数据(使用动态更新的最后一根蜡烛)而无需准备特殊的烛台数据?也许某些插件可以计算并生成烛台数据?
答案 0 :(得分:2)
所以你想将数据点分组为例如10秒烛台?是的,它实际上可以通过更改系列来完成。键入candlestick
并应用dataGrouping
。
但现在该系列需要OHLC数据,因此我们需要在将数据添加到系列之前稍微转换一下(参见fakeOHLC()
方法):
...
series: [{
name: 'Random data',
type: 'candlestick',
dataGrouping: {
forced: true,
units: [['second', [10]]]
},
data: (function () {
// generate an array of random data
var data = [],
time = (new Date()).getTime(),
i;
for (i = -999; i <= 0; i += 1) {
var point = fakeOHLC(time + i * 1000, Math.round(Math.random() * 100));
data.push(point);
}
return data;
}())
}]
});
function fakeOHLC(time, value) {
return [time, value, value, value, value];
}
http://jsfiddle.net/r43nr3L2/1/
修改强>
只有在绘制新蜡烛时才会使x轴移动,而不是在每个传入的刻度上移动,是将所有时间值舍入到当前蜡烛的开始时间。 (另请参阅有关priikone&#39;#3;问题3&#34的讨论;此处:https://forum.highcharts.com/post120232.html)
function fakeOHLC(time, value) {
time = Math.floor(time/10000) * 10000;
return [time, value, value, value, value];
}