具有不规则时间序列间隔的HighCharts Errorbar

时间:2014-07-10 15:22:41

标签: highcharts time-series timeserieschart

我试图使用基于不规则时间的xAxis构建带有错误栏的样条线,而不是使用类别,但我遇到了一些麻烦。

这是一个例子:http://jsfiddle.net/Zj2Lp/4/

知道如何实现这个目标吗?

提前谢谢

代码在这里:

var chart;
$(function() {
    $('#container').highcharts({
    chart: {
        zoomType: 'xy',
    },
    title: {
        text: 'Temperature vs Rainfall'
    },
    xAxis: [{
        type: 'datetime'
    }],
    /*
    xAxis: [{
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    }],
    */
    yAxis: [{ // Primary yAxis
        labels: {
            format: '{value} °C',
            style: {
                color: Highcharts.getOptions().colors[0]
            }
        },
        title: {
            text: 'Temperature',
            style: {
                color: Highcharts.getOptions().colors[0]
            }
        }
    }],
    tooltip: {
        shared: true
    },
    series: [{
        name: 'Temperature',
        type: 'spline',
        data: [
            [Date.UTC(2014, 5, 10), 7.0], 
            [Date.UTC(2014, 5, 11), 26.5], 
            [Date.UTC(2014, 5, 12), 9.6]
        ],
        tooltip: {
            pointFormat: '<span style="font-weight: bold; color: {series.color}">{series.name}</span>: <b>{point.y:.1f}°C</b> '
        }
    }, {
        name: 'Temperature error',
        type: 'errorbar',
        data: [
            [Date.UTC(2014, 5, 10), [6, 8]], 
            [Date.UTC(2014, 5, 11), [26.1, 27.8]], 
            [Date.UTC(2014, 5, 12), [7.6, 10.0]]
        ],
        tooltip: {
            pointFormat: '(error range: {point.low}-{point.high}°C)<br/>'
        }
    }]
});

1 个答案:

答案 0 :(得分:2)

问题在于您data系列errorbar中使用的格式。正确的格式是使用二维数组。不是像您在代码中使用的三维数组。

系列中的每个要点都是:

[Date.UTC(2014, 5, 10), [6, 8]]

应该是:

[Date.UTC(2014, 5, 10), 6, 8]

这是最新更新的errorbar系列:

{
    name: 'Temperature error',
    type: 'errorbar',
    data: [
        [Date.UTC(2014, 5, 10), 6, 8], 
        [Date.UTC(2014, 5, 11), 26.1, 27.8], 
        [Date.UTC(2014, 5, 12), 7.6, 10.0]
    ],
    tooltip: {
        pointFormat: '(error range: {point.low}-{point.high}°C)<br/>'
    }
}

here's a updated JFiddle查看结果。