我正在使用Chart.js 2.6。我有一個圖表,我已經添加了自定義分頁來瀏覽數據集,因爲它非常大。我的分頁和一切都很好,我只是抓住我的設置中的下一塊數據,並用新的數據對象更新chart.config.data,然後在圖表上調用.update()。但是,爲了使圖表更有意義,我需要在用戶分頁時保持左側(Y軸)縮放比例相同。通常Chart.js會根據圖表中的數據重建它,但我希望它始終反映相同的值。Chart.js - 設置最大Y軸值並保持步驟正確
我已經將圖表的yAxes對象上的max
值設置爲我的數據集中的最大值。我也將beginAtZero選項設置爲true,將maxTicksLimit設置爲10.但是,即使我的Yaxis保持不變,它並不總是看起來很棒(請參見下面的截圖)。在這個例子中,我的最大值在圖表中設置爲21,000。有沒有人有任何建議,我可以提供更好的最大值(根據數值四捨五入到最接近的5,000,500,100等),或者以某種方式讓它創建Y軸,而不用像前面那樣處理頂部數字它現在呢?
這裏是我目前使用於確定最大數據值設定爲圖中的Yaxes對象最大值的函數。 plugin.settings.chartData變量表示圖表中使用的數據值的數組。我試圖讓它根據maxValue是什麼正確地增加到下一個1000,500等,但正如你所看到的,我的數學不正確。在截圖示例中,maxValue返回爲20,750,我的函數將其舍入到21,000。在這個例子中,它應該將它四捨五入到下一個25,000的增量。
var determineMaxDataValue = function() {
var maxValue = Math.max.apply(Math, plugin.settings.chartData);
var step = maxValue > 1000 ? 1000 : 500;
plugin.settings.maxDataValue = (Math.ceil(maxValue/step) * step);
};