在高原料的OHLC图表上放置标志

时间:2014-08-05 13:38:09

标签: highcharts highstock

我试图在OHLC图表上放置一些标记,与this示例中的折线图相同。

我做了一个系列对象:

series : [
        {
            name : ticker,
            type: 'candlestick',
            data : chartData,
            tooltip: {
                valueDecimals: 2
            }
        },
        {
            type : 'flags',
            data : markersData,
            onSeries : 'dataseries',
            shape : 'circlepin',
            width : 16
        }
    ]

这是我得到的 - 图表根本没有被绘制。 Fiddle

如何在OHLC图表上放置标记?

1 个答案:

答案 0 :(得分:3)

您向OHLC添加标记的方式与将其添加到任何其他类型的图表的方式相同。

图表的问题在于,解析后的JSON中提供的日期都不会被视为日期,因为它们只是"2014-08-04T15:00:00.000Z"格式的字符串。您需要以时间戳的形式为Highstock提供日期,以毫秒为单位。

您可以更改您接收的JSON以提供此功能,也可以在后处理中执行此操作:

for(i in chartData.data) {
    chartData.data[i][0] = new Date(chartData.data[i][0]).getTime();
}

for(i in markersData.data) {
    markersData.data[i].x = new Date(markersData.data[i].x).getTime();
}

this updated JSFiddle code一样。 Date对象解析字符串,getTime函数返回时间戳(以毫秒为单位)。

我可能还会添加标记不在系列中,因为您没有为chartData JSON中的系列提供ID。