2013-11-10 3 views
0

Я пытаюсь изменить свой тип диаграммы Highcharts, вызванный действием кнопки.Highgraphs динамически меняющийся тип

т.е.

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); 
     }          
    }] 
} 

Изменение графики работал как шарм, но когда-то я, что она нарушает штобы функции. Я получаю «Uncaught TypeError: не могу вызывать метод inClass« неопределенного »для события mouseleave.

Любые идеи, что я делаю неправильно?

ответ

1

Из-за ошибки кажется, что кнопки навигации не любят повторную инициализацию изнутри своего обратного вызова.

Я хотел бы избежать повторного inited всей диаграммы и просто изменить ряд внутри обратного вызова:

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

Это не нарушит масштаб. Скрипт here.

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

Смежные вопросы