HighCharts OHLC - 我可以使用JSON数据为每个点提供颜色信息吗?

时间:2014-09-15 12:19:36

标签: javascript json colors highcharts

首先感谢这个伟大的社区!

我在Highcharts Docs中找不到任何内容,也没有在stackoverflow或Google上找到任何内容。

我想通过传递JSON来为OHLC-Chart中的每个点提供填充颜色信息。这可能吗?

这是我的JSON(例如)

[[973033200000,10.18,10.18,10.74,10.18],
[973119600000,10.16,10.16,10.72,10.16],
[973465200000,10.1,10.1,10.66,10.1],
[973551600000,10.16,10.16,10.72,10.16],
[973638000000,10.17,10.17,10.73,10.17],
[973724400000,10.2,10.2,10.77,10.2]]

我的目的的替代方案是使用jQuery更改日期范围的点颜色。 愿这可能吗?

感谢您的回答!

1 个答案:

答案 0 :(得分:2)

您可以像http://jsfiddle.net/gvkv4f50/1/

那样传递每点颜色的信息
$(function () {
    // create the chart
    $('#container').highcharts('StockChart', {
        plotOptions: {
            ohlc: {
                colorByPoint: true,
            }
        },

        rangeSelector: {
            inputEnabled: $('#container').width() > 480,
            selected: 2
        },

        title: {
            text: 'AAPL Stock Price'
        },

        series: [{
            type: 'ohlc',
            name: 'AAPL Stock Price',
            data: [{
                open: 8.34,
                high: 8.56,
                low: 5.47,
                close: 6.15,
                color: 'yellow'
            }, {
                open: 8.34,
                high: 8.56,
                low: 5.47,
                close: 6.15,
                color: 'green'
            }],
            dataGrouping: {
                units: [
                    [
                        'week', // unit name
                    [1] // allowed multiples
                    ],
                    [
                        'month', [1, 2, 3, 4, 6]]
                ]
            }
        }]
    });
});

如果要在开放点的值低于关闭点时忽略不同的颜色,请添加以下内容:

 Highcharts.wrap(Highcharts.seriesTypes.ohlc.prototype, 'getAttribs', function (p, args) {
    Highcharts.seriesTypes.column.prototype.getAttribs.apply(this, args);
});

你可以在这里看到 - http://jsfiddle.net/chybv1mt/3/