例如我有數組[1,2,3,4,5,6,7,8,9,10,11,12,13],我只想顯示子陣列[5,6,7,8,9]。設置一個數組顯示在圖表js
這是否可以使用Chart.js庫?
編輯:第一次我在圖表上顯示完整的數組。點擊按鈕後,我將顯示子陣列。任何想要這樣做的想法?
例如我有數組[1,2,3,4,5,6,7,8,9,10,11,12,13],我只想顯示子陣列[5,6,7,8,9]。設置一個數組顯示在圖表js
這是否可以使用Chart.js庫?
編輯:第一次我在圖表上顯示完整的數組。點擊按鈕後,我將顯示子陣列。任何想要這樣做的想法?
最簡單的方法是破壞圖表(使用圖表變量)並使用新數據構造新圖表。
舉例來說,如果你已經構建它使用
...
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()
將是一個更簡單的選項。
'var newAr = [1,2,3,4,5,6,7,8,9,10,11,12,13] .splice(4,5)' – joyBlanks
no。你不明白這個問題。我的意思是,我把這個數組顯示在圖表上。我想在圖表上顯示子數組。 – YandraK999