Панель ошибок HighCharts с нерегулярным интервалом временного ряда

Я пытаюсь построить сплайн с полосой ошибок с помощью 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/>'
        }
    }]
});

person Zen    schedule 10.07.2014    source источник


Ответы (1)


Проблема заключается в формате, который вы использовали для 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/>'
    }
}

И вот обновленный JFiddle, чтобы увидеть результат.

person Halvor Holsten Strand    schedule 10.07.2014