是否可以使用区域样条图表数据制作 highcharts 烛台图表?
Is it possible to make highcharts candlestick chart using areaspline chart data?
我正在动态更新区域样条图表,每秒接收新系列的点数。是否可以在不准备特殊烛台数据的情况下在烛台视图中表示相同的数据(动态更新最后一根蜡烛)?也许一些插件可以计算和生成烛台数据?
所以你想将数据点分组到例如 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 的 "Question 3" 的讨论:https://forum.highcharts.com/post120232.html)
function fakeOHLC(time, value) {
time = Math.floor(time/10000) * 10000;
return [time, value, value, value, value];
}
我正在动态更新区域样条图表,每秒接收新系列的点数。是否可以在不准备特殊烛台数据的情况下在烛台视图中表示相同的数据(动态更新最后一根蜡烛)?也许一些插件可以计算和生成烛台数据?
所以你想将数据点分组到例如 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 的 "Question 3" 的讨论:https://forum.highcharts.com/post120232.html)
function fakeOHLC(time, value) {
time = Math.floor(time/10000) * 10000;
return [time, value, value, value, value];
}