我有一个图表,我可以在其中选择两个轴上的内容。它可以从每周公里开始,最大值略高于 70 亿。致命事故,最大值略高于 10。 当我调用我的轴时,我使用这个:
.call(axeX.tickFormat(d3.format(".0s")))
如果我不这样做,每周的公里数就会非常长,而且有点难看。但现在,轴上的数字是错误的,如下图所示:
工作示例在这里:https://crashdavions.github.io/
我应该使用什么格式,以便大数字采用合适的格式(例如 7G 而不是 70 亿),而小数字则保持“正常”格式(例如 10 而不是 10.0000)?
最佳答案
有有用的demo page当您可以使用各种格式说明符并选择适合您的需求时。但没有通用说明符。哪些数字被认为是小数字?这是主观的。您可以按条件应用适当的格式说明符。对于您的情况:
.call(axeX.tickFormat(function(number) {
var specifier = number > 999 ? d3.format(".0s") : d3.format("");
return specifier(number);
}))
此代码对于 11 返回 11
,对于 1000 返回 1k
。
关于javascript - 轴上刻度值的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46895777/