在 d3.js 中更改刻度频率

Change tick frequency in d3.js

我正在使用 nvd3.js。我有一个图表,图表中的刻度线频率每两天变化一次。

示例:01/10 - 03/10 - 05/10 - 07/10..

我在此图表中显示的结果每天有一个值。

有没有办法设置逐日显示的刻度?

默认情况下 nvd3/d3 自行定义刻度数。您应该指定 tickValues 进行自定义。看这个例子jsfiddle

目前也存在与您描述的相同的问题。 尝试取消注释 tickValues 方法,你会得到你需要的 - jsfiddle

chart
  .xAxis
  .axisLabel("Date (m/y)")
  .tickValues(function (d) {
    return d[0].values.map(function (item) {
        return item.x;
    });
  })
  .tickFormat(function (d) {
      return d3.time.format("%m/%y")(new Date(d))
  });

你试过了吗

chart.reduceXTicks(false)

默认情况下 NVD3 显示减少的刻度。