在HighCharts中更改load事件内的数据点值

时间:2015-01-25 22:47:49

标签: highcharts updating

在HighCharts图表中,我需要更改图表对象内的数据点。所以我使用events属性。但是以下玩具代码不起作用:

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'scatter',
            zoomType: 'xy',
            events: {
                load: function () {
         this.series[0].data[1].y=7.5;
         this.redraw();
                }
            },
        },
        series: [{type: 'scatter',
                  data:[
                    {y:10,x:1},
                    {y:8,x:2},
                    {y:9,x:3},
                    {y:7,x:4},
                    {y:7,x:5},
                        ]
                }]
    });
});

怎么了? 这里的Jfiddle版本:http://jsfiddle.net/zqhavLz9/

1 个答案:

答案 0 :(得分:2)

您可以轻松使用this.series[0].update

this.series[0].update({
                    data: [
                        {y:10,x:1},
                        {y:7.5,x:2},
                        {y:9,x:3},
                        {y:7,x:4},
                        {y:7,x:5},
                    ]
                });

这将自动重绘图表并更新数据:DEMO

或者您可以在致电this.series[0].isDirty = true之前使用redraw

load: function () {
                this.series[0].data[1].y=7.5;
                this.series[0].isDirty = true;
                this.redraw();
            }

这是DEMO