我正在尝试找出 d3.js。定义轴时,如何在 x 轴上获得自定义标签。例如,我得到的默认标签是:
|------|------|------|------|------|------|
20 30 40 50 60 70 80
然而,我想要这样的东西:
|------|------|------|------|------|------| ....
20 26 32 38 44 50 56
我目前正在学习它并根据官方提供的示例编写代码(稍作修改):
var xAxis = d3.svg.axis().scale(x).tickPadding(7).orient("bottom");
var yAxis = d3.svg.axis().scale(y).tickPadding(5).orient("left");
定量刻度的默认刻度是 2、5 和 10 的倍数。您似乎想要 6 的倍数;尽管不寻常,但这可能是有意义的,具体取决于基础数据的性质。所以,虽然你可以使用轴.刻度 https://github.com/d3/d3-axis#axis_ticks要增加或减少刻度数,它将始终返回 2、5 和 10 的倍数,而不是 6。
如果你想要6的倍数,你可以使用轴.tickValues https://github.com/d3/d3-axis#axis_tickValues明确指定刻度值。这通常与d3.range https://github.com/d3/d3-array/blob/master/README.md#range。例如:
xAxis.tickValues(d3.range(20, 80, 4));
如果要动态计算值,请使用 x 尺度的域来检索最低和最高值。另请记住,范围的上限是不包括的,因此在上面的示例中,最大刻度值为 76。您可以通过将范围的止损值稍大一点(例如 81)来使上限包含在内。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)