Javascript 在D3中的轴上仅使用一种类型的装置

Javascript 在D3中的轴上仅使用一种类型的装置,javascript,d3.js,Javascript,D3.js,我有一个轴,其中我有值: 500000 600000 1000000 2000000 D3默认将前两个格式设置为“500k”、“6000K”,最后两个格式设置为“1.0M”、“2.0M” 我只需要使用一种类型的单位,例如获取最大值,并将其用作所有其他刻度的参考,例如获取2000000,将其格式设置为“2.0M”,然后其余单位将为“1.0M”、“0.6M”、“0.5M” 如何实现这一点?您需要定义所需的前缀,例如,M for Millown格式化程序: var formatInteger = d

我有一个轴,其中我有值:

500000
600000
1000000
2000000
D3默认将前两个格式设置为“500k”、“6000K”,最后两个格式设置为“1.0M”、“2.0M”

我只需要使用一种类型的单位,例如获取最大值,并将其用作所有其他刻度的参考,例如获取2000000,将其格式设置为“2.0M”,然后其余单位将为“1.0M”、“0.6M”、“0.5M”


如何实现这一点?

您需要定义所需的前缀,例如,M for Millown格式化程序:

var formatInteger = d3.format(".f"),
formatMillions = function (d) {
    return formatInteger(d / 1e6) + "M";
};
并将其传递给.tickFormat

var xAxis = d3.svg.axis()
  .scale(axisScale)
  .tickFormat(formatMillions);
完整的例子是

此外,您还可以找到有关和的更多信息。

以及合适的。