我有一个图表,我可以选择两轴上的内容。它可以从每周公里数,其中最大值超过70亿。致命事故,最大值超过10。 当我打电话给我的轴时,我用它:
.call(axeX.tickFormat(d3.format(".0s")))
如果我不知道,每周的公里数是多长的,而且有点难看。但是现在,轴上的数字是错误的,正如你在这张图片上看到的那样:
工作示例如下:https://crashdavions.github.io/
我应该使用什么格式,以便大数字采用合适的格式(例如7G而不是7亿),但是小数字仍保留在正常情况下#34;格式(如10而不是10.0000)?
答案 0 :(得分:2)
当您可以使用各种格式说明符并选择满足您的需求时,有用demo page。但没有通用的说明符。什么数字被认为是小的?这是主观的。您可以根据条件应用适当的格式说明符。对于你的情况:
.call(axeX.tickFormat(function(number) {
var specifier = number > 999 ? d3.format(".0s") : d3.format("");
return specifier(number);
}))
此代码返回11
表示11,但1k
表示1000。