chartjs 2.0.0中的Y轴标签

时间:2015-07-09 07:59:02

标签: linechart chart.js

我正在使用Chart,js 2.0.0 alpha我在Y轴上有labels的奇怪行为 enter image description here

  1. 正如您在左侧所见,我有一个奇怪的 0.150000000000000000000002值
  2. 切割顶部Y轴标签
  3. 我该怎么办?

    https://jsfiddle.net/tcgs58be/

2 个答案:

答案 0 :(得分:4)

  

1.正如您在左侧看到的,我有一个奇怪的0.150000000000000000000002值

原始轴标签功能具有将标签四舍五入到步长值中的小数点数的代码。我无法在新的中看到它。但是,您可以通过更改模板字符串

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

或者用回调函数替换它以根据需要格式化数字

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

2.Top Y轴标签被切割

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

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

小提琴 - https://jsfiddle.net/fonvw25m/

答案 1 :(得分:2)

我在版本:2.1.6中遇到了同样的问题。

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

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