添加'%'使用nvd3.js库在y轴上标记所有刻度,而不乘以100

时间:2014-04-03 13:48:40

标签: javascript nvd3.js

我正在使用nvd3.js库来显示折线图。

我需要添加'%'在y轴上标记旁边的标记。我知道我可以格式化nvd3以使用像

这样的格式
  chart.yAxis
            .axisLabel("Y-axis Label")
            .tickFormat(d3.format(".0%"))
        ;

但这会将y值转换为0.1到10%(我的意思是这会将所有值乘以100,但我不需要这样)。但我不需要这种转换,我只需要添加'%'没有任何转换的标志。有可能吗?

2 个答案:

答案 0 :(得分:1)

试试这个

chart.yAxis.tickFormat(function(d) {
    var formatter = d3.format(".0%");
    return formatter(d)
});

OR

formatter = d3.format(".0%");
chart.yAxis.tickFormat(formatter);


更新:

chart.yAxis.tickFormat(function(d) {
    return d + '%'
});

希望这有帮助

答案 1 :(得分:0)

在此处添加示例代码。

chart.yAxis
    .axisLabel("Y-axis Label")
    .tickFormat(d => `${d3.format('.0')(d)} %`);