与ChartJS在{y}轴上的美元符号

时间:2017-12-15 17:05:39

标签: javascript chart.js

Chart.js图表​​Y轴上的标签前面应该有一个美元符号,因为它们是货币值。

此代码在文档中,但对我不起作用。

var chart = new Chart(ctx, {
    type: 'line',
    data: data,
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    // Include a dollar sign in the ticks
                    callback: function(value, index, values) {
                        return '$' + value;
                    }
                }
            }]
        }
    }
});

这是我的结果。 '之前'没有这个代码,'之后'是的。 enter image description here 显然,不只是在值之前添加$,而且还会发生其他事情。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

这里的问题是chart.js不会对字符串进行舍入,因为它不应该为你做那个。

当您将字符串附加到数字时,JavaScript会为您转换它,并且您无法控制精度。

您可以使用toFixed来解决问题:

// Define wherever decimals:
const decimals = 3;
// ...
var chart = new Chart(ctx, {
    type: 'line',
    data: data,
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    // Include a dollar sign in the ticks
                    callback: function(value, index, values) {
                        return '$' + value.toFixed(decimals);
                    }
                }
            }]
        }
    }
});