3

我正在尝试使用d3.ticks. 根据文档,我应该能够限制轴上显示的刻度数。

但是,这似乎根本不限制滴答数:

xAxis = d3.svg.axis().scale(xScale).orient("bottom").ticks(2)

是因为我的规模是序数吗?

JSFiddle在这里:http: //jsfiddle.net/samselikoff/9tfD2/1/

4

2 回答 2

8

axis.ticks仅在底层标度实现ticks功能时才有效,而序数标度则没有。默认情况下,序数刻度的轴刻度由刻度的域组成,但您可以通过使用axis.tickValues提供显式刻度值来覆盖它。

于 2013-09-16T17:48:49.297 回答
2

文档还说(在秤的部分)

指定的计数只是一个提示;根据输入域,比例可能会返回更多或更少的值。

这就是这里发生的事情——对于序数尺度,所有值都被采用。

但是,您可以通过提供明确的刻度值来覆盖它,例如

d3.svg.axis().scale(xScale).orient("bottom").tickValues(["12am", "8pm"])
于 2013-09-16T17:50:21.977 回答