如何在d3.js中显示年度时间刻度的最小日期刻度

时间:2013-12-17 06:11:11

标签: javascript jquery d3.js

我的d3图表与http://bl.ocks.org/mbostock/1667367

相同

如果我选择一个非常短的时间跨度,那么它显示在早上6点到晚上12点,依此类推......(是否可能不会显示少于一天的间隔?)

是否可以将最小间隔设为1天,因此它不显示下午1点至下午6点的标签,?

我每天都有数据,所以我不想在早上6点到晚上9点播放,依此类推,

OR

如果我使用

修复日期格式
.tickFormat(d3.time.format("%d %b"))
.ticks(d3.time.days, 1)

问题是如果我们只有几天数据就可以显示。但是如果我们有一年的数据,x轴将有365个标签。 我只想用最小的xaxis标签以相同的格式显示日期。

抱歉我的英文不好,希望你明白这个问题

1 个答案:

答案 0 :(得分:2)

您正在寻找Custom time axis

在您的情况下,您可以停在day级别:

var customTimeFormat = timeFormat([
  [d3.time.format("%Y"), function() { return true; }],
  [d3.time.format("%B"), function(d) { return d.getMonth(); }],
  [d3.time.format("%b %d"), function(d) { return d.getDate() != 1; }],
  [d3.time.format("%a %d"), function(d) { return d.getDay() && d.getDate() != 1; }],
]);