2015-08-28 44 views
0

例如我有數組[1,2,3,4,5,6,7,8,9,10,11,12,13],我只想顯示子陣列[5,6,7,8,9]。設置一個數組顯示在圖表js

這是否可以使用Chart.js庫?

編輯:第一次我在圖表上顯示完整的數組。點擊按鈕後,我將顯示子陣列。任何想要這樣做的想法?

+1

'var newAr = [1,2,3,4,5,6,7,8,9,10,11,12,13] .splice(4,5)' – joyBlanks

+0

no。你不明白這個問題。我的意思是,我把這個數組顯示在圖表上。我想在圖表上顯示子數組。 – YandraK999

回答

0

最簡單的方法是破壞圖表(使用圖表變量)並使用新數據構造新圖表。

舉例來說,如果你已經構建它使用

... 
var ctx = document.getElementById("chart").getContext("2d"); 
var myChart = new Chart(ctx).Bar(data); 

你需要摧毀它首先使用

myChart.destroy(); 

,然後進行新的圖表

myChart = new Chart(ctx).Bar(newData); 

其中newData是新的數據對象。

你也可以更新舊數據對象(如果你不使用它爲別的),而不是使用一個新的對象,像這樣

data.labels = [5, 6, 7, 8, 9]; 
data.datasets[0].data = [5, 6, 7, 8, 9]; 
myChart.destroy(); 
myChart = new Chart(ctx).Bar(data); 

小提琴 - http://jsfiddle.net/5u3ahg7L/

(該圖表在2秒延遲後用新數據更新,您不需要setTimeout包裝器 - 它僅用於演示)


您也可以使用原型方法.update().removeData()(折線圖方法爲http://www.chartjs.org/docs/#line-chart-prototype-methods - 每種類型具有相似的方法)執行此操作,但由於您的更改要求您從圖表兩端刪除數據,所以.destroy()將是一個更簡單的選項。