2015-06-08 3 views
1

Я пытаюсь заставить анимацию работать в графиках Google. По какой-то причине анимация не срабатывает.анимация google chart не работает

Его довольно простой код. Буду признателен за любую помощь.

 google.setOnLoadCallback(drawChart); 
     var data = google.visualization.arrayToDataTable([ 
      ['Task', 'Hours per Day'], 
      ['Work',  11], 
      ['Eat',  2], 
      ['Commute', 2], 
      ['Watch TV', 2], 
      ['Sleep', 7] 
     ]); 
     function drawChart() { 



     var options = { 
     width: 400, 
     height: 240, 
     animation:{ 
     'duration': 5000, 
     'easing': 'out', 
     }, 
     vAxis: {minValue:0, maxValue:100} 
    }; 
     var chart = new google.visualization.ColumnChart(document.getElementById('piechart')); 

     chart.draw(data, options); 
     } 

var ch=0; 
    function change(){ 
     if(ch==0){ 
        data = google.visualization.arrayToDataTable([ 
      ['Task', 'Hours per Day'], 
      ['Work',  1], 
      ['Eat',  20], 
      ['Commute', 20], 
      ['Watch TV', 20], 
      ['Sleep', 17] 
     ]); 
      ch=1; 
     } 
     else if(ch==1){ 
      data = google.visualization.arrayToDataTable([ 
      ['Task', 'Hours per Day'], 
      ['Work',  10], 
      ['Eat',  2], 
      ['Commute', 12], 
      ['Watch TV', 24], 
      ['Sleep', 47] 
     ]); 
      ch=0; 
     } 
     drawChart(); 
    } 

полный код находится на ниже JSFIddle

https://jsfiddle.net/hjnufh0o/

ответ

3

Вы воссоздании объекта диаграммы каждый раз вы называете drawChart(), который имеет эффект разрушения существующей диаграммы и строительство новой - так что ничто не оживляет.

https://jsfiddle.net/2foeopyv/

Я вытащил заявления для chart и options из раздела drawChart(), поэтому его в настоящее время обновляет график, а не пытаться воссоздать его.

+0

Спасибо за тонну за мою глупую ошибку. Любая идея, почему анимация не работает с PieCharts? в этом примере гистограмма работает нормально, но как только я изменяю var chart = new google.visualization.ColumnChart (document.getElementById ('piechart')); с var chart = new google.visualization.PieChart (document.getElementById ('piechart')); Анимация перестает работать. – srjt

+1

Не стоит беспокоиться - согласно https://developers.google.com/chart/interactive/docs/animation#supported-modifications PieCharts не поддерживаются при анимации (вы можете увидеть на https://developers.google. com/chart/interactive/docs/gallery, а также то, что PieCharts - одна из единственных стандартных диаграмм, которые не оживляют или не перерисовывают сами) – danabnormal

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