2013-02-01 121 views
2

我正在使用Highcharts創建條形圖,並試圖弄清楚如何動畫我對圖表所做的更改。我已將動畫設置爲true,但未顯示任何更改,只是將欄重新繪製到新高度。動畫柱形圖

我怎樣才能讓它動畫變化?現在我正在使用series.setData()設置數據,不確定是否有設置特定欄的方式,也許這就是爲什麼它不動畫?

http://jsfiddle.net/nycynik/FACtf/

var series = this.series[0]; 

chartData1[Math.floor(Math.random()*10)] = Math.random()*125; 
series.setData(chartData1, true); 
+0

這是舊的,但我認爲這回答你的問題.http://highslide.com/forum/viewtopic.php?f = 9&t = 13548&p = 59520&hilit = setData + animation –

+0

謝謝你,這是答案,但奇怪! 「然而,動畫在chart.addSeries和series.addPoint上可用,因爲在這些情況下,我們分別從零和現有數據生成動畫。」爲什麼不能修改條形圖中的點(或任何點)並讓它在那個點上改變動畫?我還沒有得到它。但提供的兩種方法,只是追加更多的點,而不是修改現有的。生病繼續搜索,但謝謝@RicardoLohmann – nycynik

回答

1

Series.setData()不動畫,因爲所有的點都扔掉了,並更換新的。你可以找到Point.update()。當您運行點更新時,您只更新值,因此點可以從舊值更改爲新值。

chart.series[0].data[0].update(Math.random()); 

See demo

+0

謝謝!對於到這裏來找到這個答案的任何人都應該知道,更新函數需要動畫的第二個參數。所以chart.series [0] .data [0] .update(Math.random(),true);將強制動畫。謝謝! – nycynik