我有一个d3图表,轴的日期范围可以从一天到5年。我根据两个选定日期之间的差异设置了刻度格式,并将固定刻度设置为7.
这是我的代码:
xAxis = d3.svg.axis()
.scale(xRange)
.orient("bottom")
.tickFormat(function(d, i) {
var timeFormatter = d3.time.format(getXTimeFormat(currentDateExtents[0], currentDateExtents[1], d, i));
return timeFormatter((new Date(d)));
})
.ticks(7)
我还为每个开始日期设置了独特的格式,例如:10月4日上午4点。上午10点。上午4点... 原点的时间总是从午夜12点开始,并且产生原点后的第一个刻度显示10Jun 但是10-17或11jun的时间是凌晨1点,这似乎是不寻常的。
如何使d3在原点10jun开始轴,然后每个子请求滴答为某个时间值,但在第二天开始时,将此刻度时间设为上午12点。
这在选择一天或超过7天或6天时有效。 但是这两者之间的任何事情,如果我选择2或3天,则不会从午夜开始计时。
如果d3支持
,所有问题都可以解决.ticks(function(){return d3.time.hours/days/months;},function(){return tickInterval;)).
任何建议将不胜感激。 感谢