0

我一直在尝试更改由按钮操作触发的 Highcharts 图表类型。

IE

customButton: {
    text: 'Graph Type',
    menuItems: [{
        text: 'Line',
        onclick: function() {
            chartType.chart.type = 'spline';
            $('#container').highcharts(chartType);
        }
    },
    {
        text: 'Column',
        onclick: function() {
            chartType.chart.type = 'column';
            $('#container').highcharts(chartType);
        }
    },
    {
        text: 'Scatter',
        onclick: function() {
            chartType.chart.type = 'scatter';
            $('#container').highcharts(chartType);
        }                                    
    }]
}

更改图表就像一种魅力,但一旦我这样做,它就会破坏放大功能。我收到“未捕获的类型错误:无法为 mouseleave 事件调用未定义的方法“inClass”。

任何想法我做错了什么?

4

1 回答 1

1

从错误来看,这些导航按钮似乎不喜欢从它们自己的回调内部重新初始化。

我会避免重新启动整个图表,而只是修改回调中的系列:

{
    text: 'Column',
    onclick: function() {
        Highcharts.charts[0].series[0].update({
            type: 'column'
        });
    }
 }

这不会破坏缩放。在这里拉小提琴。

API:http://api.highcharts.com/highcharts#Series.update()

于 2013-11-10T14:51:47.180 回答