是否可以使用区域图表数据制作高级图表烛台图表?

时间:2017-10-01 10:18:51

标签: javascript highcharts highstock

我已经动态更新了areapline图表,每秒都会收到新系列的点数。是否可以在烛台视图中表示相同的数据(使用动态更新的最后一根蜡烛)而无需准备特殊的烛台数据?也许某些插件可以计算并生成烛台数据?

1 个答案:

答案 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];
}

http://jsfiddle.net/r43nr3L2/2/