如何使用nvd3折线图在x轴上显示日期

时间:2013-02-21 12:52:06

标签: javascript d3.js nvd3.js

当我将数字传递到x轴时,图表显示出来。但是当我试图在x轴上传递日期时,它什么也没显示。 我已经像这样给了x轴

chart.xAxis
           .axisLabel('Date')
           .tickFormat(function(d) { return d3.time.format('%b %d')(new Date(d)); });

y轴的另一个问题是标签没有出现在任何图表中。

Here是我的代码的jsfiddle。

2 个答案:

答案 0 :(得分:1)

我做错了是给出日期字符串而不是日期对象。

所以我拆分JSON并使用x轴标签的日期字符串创建日期对象。 如下。

new Date(dateStr)

现在工作正常

答案 1 :(得分:1)

有两件事:

  1. 您可以设置自动收报机;
  2. 您可以将值从随机字符串转换为NVD3理解的内容
  3. 如果在X轴上提供字符串,NVD3不知道如何订购它,因此需要Date对象。您可以像这样设置图表:

    chart.xAxis
      .x(function(d) { new Date(d.x) }) // this convert the data object
      .axisLabel('Date')
      .tickFormat(function(d) { return d3.time.format('%Y-%m-%d')(new Date(d)); }); // this convert the ticker
    
相关问题