D3.js线性刻度[0,1],具有特定数量的字符串刻度值[A,B,C,...]

时间:2014-06-21 14:25:19

标签: javascript svg d3.js

我正在使用D3.js,我想显示

  • 具有特定滴答数的字符串刻度
  • 同时保持其下方的线性范围。

e.g。

  • 带有9个组件的字符串刻度[A,B,C,D,E,F,G,H,X]
  • 同时保持[0,1]
  • 之间的线性范围

所以如果值

  • 是1应该落在" X"
  • 是0.95,该点应落在" H"和" X"
  • 是11.11,应该落在" B"

我喜欢这样的事情,但当然这不起作用:

d3.svg.axis().scale(y).ticks(9).tickValues([A,B,C,D,E,F,G,H,X])

或者可以手动重写刻度的文本,但这是不洁净的。

1 个答案:

答案 0 :(得分:0)

D3提供的任何尺度都不是您正在寻找的。您可以执行自己的比例实现,也可以“破解”现有比例之一。听起来像线性比例是一个很好的起点。然后,您可以将函数包装为接受字符并替换轴上的标签,例如。