d3js为时标轴设置tickValues

ppo*_*ani 5 javascript d3.js

我已经搜查官d3.js文档,以及,在这里计算器找到一种方式来定制tickValues添加到时间刻度轴; 但是,我没有偶然发现任何确认类似内容的文档是可能的.

所以从本质上讲,我有一个时间刻度轴,我想显示具体时间,例如我想做这样的事情:

xHourAxis
   .ticks(d3.time.hours, 2)
   .tickFormat(d3.time.format('%I %p'))
   .tickValues(2, 4, 6, 8, 10, 12) ;
Run Code Online (Sandbox Code Playgroud)

所以我想每2小时显示一次刻度值,但不包括第一个(上午12点)和最后一个(下午12点).

有谁知道是否有任何解决方法?

Tom*_*m P 0

差不多了,但是您的代码有两个问题:首先,刻度值必须在数组中指定,其次这些值应该是 Javascript 日期对象。即您只需提供一个日期数组,tickValues这样您的代码将如下所示:

xHourAxis
 .tickFormat(d3.time.format('%I %p'))
 .tickValues([new Date(2000,10,5), new Date(2005,2,7), new Date(2007,11,11)]);
Run Code Online (Sandbox Code Playgroud)

ticks()另请注意,如果您稍后要指定自定义值,则无需调用。