2016-09-12 57 views
2

我想要做的就是設置一個簡單的全局選項,以Y軸和工具提示的逗號格式化數字。我已經嘗試了一百萬個例子,我無法得到這個工作。Chart.js全局格式化數字標籤

版本:chart.js之/ 2.2.2

我想所有的數字用逗號使用一個簡單的全局選項Y軸和工具提示值格式。之所以這樣做更容易使用全局,是因爲我生成並動態發送JSON數據並添加更多選項將會是一個痛苦,當所有數字都需要表現相同時才動態。

回答

2

在與開發人員交談後,我有一個非常好的全局方法來設置y軸和工具提示數字格式。我希望這可以幫助別人!

你絕對可以使用全局選項來控制它。

舉例來說,這裏是你將如何更新,使所有的線性尺度(默認Y軸)將使用美元符號和漂亮的數字

Chart.scaleService.updateScaleDefaults('linear', { 
    ticks: { 
    callback: function(tick) { 
     return '$' + tick.toLocaleString(); 
    } 
    } 
}); 

這裏是如何,你也可以爲工具提示

做相同的格式
Chart.defaults.global.tooltips.callbacks.label = function(tooltipItem, data) { 
    var dataset = data.datasets[tooltipItem.datasetIndex]; 
    var datasetLabel = dataset.label || ''; 
    return datasetLabel + ": $" + dataset.data[tooltipItem.index].toLocaleString(); 
}; 

然後我問了一下,包括簡單的國旗的軸和數據集設置中的格式:

我一直在猶豫是否會將這些內容包含在內核中,因爲有這麼多不同的選項,並且試圖支持每一個選項都會顯着增加已經很大的圖書館的規模。鼓勵某人創建一個格式化程序庫可能是有意義的,這些格式化程序基本上可以自動創建這些功能來加速開發。

參考文獻:

https://github.com/chartjs/Chart.js/issues/3294#issuecomment-246532871 https://jsfiddle.net/ChrisGo/k4Lxncvm/