我如何在HighCharts上重绘系列?

问题描述 投票:0回答:2

我正在尝试在高图上重绘数据。我使用此代码初始化图表。

    Highcharts.chart('container', {
chart: {
            events: {
                click: function(event) {
                    alert (
                    'x: '+ Highcharts.dateFormat('%Y-%m-%d', event.xAxis[0].value) +', ' +
                    'y: '+ event.yAxis[0].value
                    );
                }
            }
        },

        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        yAxis: {
            title: {
                text: 'Amount'
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },

        plotOptions: {
        series: {
            cursor: 'pointer',
            point: {
                events: {
                    click: function() {
                        alert ('Category: '+ this.category +', value: '+ this.y);
                    }
                }
            }
        }
        },
        series: [{
            name: 'Expected',
            data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
        }, {
            name: 'Received',
            data: [1.0, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
        }],
});

使用HTML按钮,我称呼以下

Highcharts.chart.series[0].setData([129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4] );

它出现以下错误

“未捕获的TypeError:无法读取未定义的属性'0'”

是否可以通过这种方式更新图表?

javascript highcharts
2个回答
4
投票

首先,您需要将聊天对象存储在变量中。

    var chart = $('#container').highcharts(),

下一个

   chart.series[0].setData([129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4] );

最后,您可以通过以下方式重绘()图表:

    chart.redraw();

请看下面的例子。

http://jsfiddle.net/d_paul/mo7ef7ey/


0
投票

要更新图表,我通常会这样做:

var chart = $('#container').highcharts(); //Div containing HighChart
chart.series[0].update({
    pointStart: newSeries[0].pointStart,
    data: newSeries[0].data
}, true); //true / false to redraw

PS:这将在3.0.1版之后运行。

© www.soinside.com 2019 - 2024. All rights reserved.