Chart.js全局格式化数字标签

时间:2016-09-12 15:21:04

标签: javascript jquery chart.js

我想要做的就是设置一个简单的全局选项,使用逗号为Y轴和工具提示格式化数字。我已经尝试了一百万个例子,我无法让它发挥作用。

版本:Chart.js / 2.2.2

我想使用简单的全局选项使用逗号为Y轴和工具提示值格式化所有数字。使用global更容易的原因是我生成并动态发送JSON数据并添加更多选项,这将是一个痛苦的动态,当所有数字需要表现相同时。

1 个答案:

答案 0 :(得分:4)

与开发人员交谈后,我有一个非常好的全局方法来设置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/