在 Chart.js 中格式化条形图 Y 轴标签

Format Bar Chart's yAxis labels in Chart.js

我在这里查看了文档和类似问题,但我似乎没有找到解决我的问题的有效方法。

我正在使用 Chart.js v.2.1.6,我有一个条形图,其中百分比值存储为数字(已乘以 100)。我需要 y 轴标签和工具提示来在值后显示 % 符号。

有人可以阐明这件事吗?

这是我的代码:

var data = {
  "labels": ["Label1", "Label2", "Label3", "Label4", "Label5"],
  "datasets": [{
    "label": "Variation",
    "data": ["56", "-82.3", "25.7", "32.2", "49.99"],
    "borderWidth": 1,
    "backgroundColor": "rgba(231, 76, 60, 0.2)",
    "borderColor": "rgba(231, 76, 60, 1)"
  }]
};

var myBarChart = new Chart($("#myCanvas"), {
  type: 'bar',
  data: data,
  maintainAspectRatio: false
});

还有一个fiddle:https://jsfiddle.net/tdjk3ncs/

编辑:已解决

感谢 miquelarranz,我找到了解决方案,找到更新的 fiddle:

https://jsfiddle.net/tdjk3ncs/7/

如果您想在 Y 轴的值之后添加 %,您可以在图表配置中使用刻度来完成。您的代码将如下所示:

var myBarChart = new Chart($("#myCanvas"), {
    type: 'bar',
    data: data,
    maintainAspectRatio: false,
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    // Create scientific notation labels
                    callback: function(value, index, values) {
                        return value + ' %';
                    }
                }
            }]
        }
    }
});

Documentation about scales

Fiddle 更新为 %Fiddle

如果您想修改工具提示中显示的文本,您可以使用回调轻松更改它。您可以在此处找到更多信息 Tooltip Callbacks