0

ボタン アクションによってトリガーされる Highcharts グラフ タイプを変更しようとしています。

すなわち

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 イベントで「Uncaught TypeError: Cannot call method 'inClass' of undefined」を受け取ります。

私が間違っていることはありますか?

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 に答える