在Chart.js中格式化条形图的yAxis标签

时间:2016-07-04 08:50:28

标签: javascript label 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
});

小提琴:https://jsfiddle.net/tdjk3ncs/

编辑:已解决

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

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

1 个答案:

答案 0 :(得分:4)

如果要在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

更新了小提琴

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

找到更多信息