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

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

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;
                    }
                }
            }]
        }
    }
});

这是我的结果。 'Before' 没有这个代码,'after' 是有。
javascript - 使用 ChartJS 在 y 轴上显示美元符号-LMLPHP
显然,这不仅仅是在值之前添加 $,还有其他事情也在发生。

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

最佳答案

这里的问题是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);
                    }
                }
            }]
        }
    }
});

关于javascript - 使用 ChartJS 在 y 轴上显示美元符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47836842/

10-11 04:23