18

使用本示例中所示的堆积面积图 http://nvd3.com/ghpages/stackedArea.html

尝试将 y 轴刻度标签和工具提示标签格式化为整数而不是浮点数。尝试更改以下代码

chart.yAxis
        .axisLabel('Users')
        .tickFormat(d3.format(',.2f'));

chart.yAxis
        .axisLabel('Users')
        .tickFormat(d3.format(',.0d'));

精度保持不变(仍然显示百分之一的值)。我关注 Github Wiki 无济于事https://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format

任何建议或提示将不胜感激。

4

4 回答 4

24

看起来目前 nvd3 不支持此功能。请参阅违规

此外,您的格式规范不太正确。如文档中所述,"d"忽略非整数值。所以你可能想要",.0f",这意味着:

  • ,: 用逗号分隔千位。
  • .0:精度为零(其确切含义取决于所使用的类型)。
  • f类型;在这种情况下,Number.toFixed。这意味着小数点后出现固定位数(精度),如有必要,该数字会四舍五入。
于 2012-07-25T23:44:03.870 回答
4

这可以将标签文本从浮点数格式化为整数。

对于饼图:

chart.pie.valueFormat(d3.format(',.0d'));

对于折线图:

chart.yAxisTickFormat(d3.format(',.0d'));
于 2015-07-13T06:52:40.667 回答
3

.tickFormat方法上的方法.yAxis没有正确更新它。这是我使用的解决方法:

        chart.yAxisTickFormat(d3.format(',.0d'));
于 2015-02-11T09:29:08.687 回答
3

我试过这样

.axisLabel('%').tickFormat(function(d) { return parseFloat(d).toFixed(1) + "%"; });

它对我有用。我得到小数点和百分比的结果。

于 2016-01-17T20:09:53.167 回答