chartjs 2.0.0 中的 Y 轴标签

Y-axis label in chartjs 2.0.0

我正在使用 Chart,js 2.0.0 alpha Y 轴上的 labels 有一个奇怪的行为

  1. 正如您在左侧看到的,我有一个 奇怪的 0.1500000000000000000000002 值
  2. 顶部 Y 轴标签被剪切

我能做什么?

https://jsfiddle.net/tcgs58be/

1.As you can see on the left i have a strange 0.150000000000000000000002 value

原始轴标签函数有代码将标签四舍五入为步长值中的小数点数。我在新的中看不到它。但是,您可以通过更改模板字符串轻松修复它

labels: {
    template: "<%= Number(value.toFixed(2)) + ' A'%>",

或将其替换为回调函数以根据需要格式化数字

labels: {
    userCallback: function (tick) {
        return Number(tick.toFixed(2)) + ' A';
    },

2.Top Y-axis labels are cutted

已经记录了一个错误 - https://github.com/nnnick/Chart.js/issues/1274 它是 2.0 里程碑的一部分。所以它应该在最终的 2.0 版本之前修复。

到那时,您可以通过向 canvas 父级添加一些顶部填充来轻松解决它(并设置包装器样式而不是 canvas - 背景色、边框...)


Fiddle - https://jsfiddle.net/fonvw25m/

我运行进入同样的问题版本:2.1.6.

potatopeelings 的更新解决方案如下所示:

    var options = {
        scales: {
            yAxes: [{
                ticks: {
                    callback: function (value, index, values) {
                        return parseFloat(value).toFixed(2) + '%';
                    }
                }
            }]
        }
    };