需要帮助:NVD3 + ZoomData轴格式

时间:2014-07-08 09:19:44

标签: nvd3.js

我目前正在使用ZoomData来满足我的虚拟化需求。 我还使用NVD3库将一个LineChart添加到Zoomdata,因为没有我需要的模板。 绝对没有任何文件,我陷入了深深的麻烦。 :)

我在Youtube上观看了ZoomData视频。因此我理解用于渲染自定义图表的控制器。 我有一个我读过的数据文件,包含日期(X轴)和这些日期的值(Y轴)。

我的问题是我似乎无法正确呈现日期。在某些情况下,我的折线图没有显示。但是,它可以很好地处理简单的数据集(如数组)。 到目前为止,这是我的代码:

var svg = d3.select(controller.element).append("svg")

.attr("width", "100%")
.attr("height", "100%");
var format = d3.time.format("%Y-%m-%d");
var chart;

nv.addGraph(function() {
    CreateLabels();
  chart = nv.models.lineChart()
  .options({
    margin: {left: 100, bottom: 100},
  //  x: function(d,i) { return i},
    showXAxis: true,
    showYAxis: true,
    transitionDuration: 250
  })
  ;

  chart.x(function(d){return d.group});
  chart.y(function(d,i){return d.current.count});

现在我需要有关轴数据格式的帮助。我的日期从2014年到2015年,我在X轴上看到的是:2014.2 2014.4 2014.6 .... 2015。 我不明白这里发生了什么,我的NVD3折线图没有正确显示。感谢阅读,希望这很清楚。

最后,我的ZoomData Update功能,我可以获取我的数据。

    controller.update = function(data)
{
    var newData = [{key:"Test Line", values: data }];

    d3.select(controller.element).select("svg")
    .datum(newData)
    .call(chart)
    ;    
}

1 个答案:

答案 0 :(得分:0)

您使用的是Zoomdata的最新版本v1.4.0吗?您可以从我们的网站免费下载:http://www.zoomdata.com/download

我们也在努力改进文档,您可以在此处查看:http://zoomdata.github.io/ZoomdataJS-docs/

要回答您的问题,我认为您将数据作为时间戳发送到NVD3,但它需要Javascript Date Objects。这是一个类似的答案:https://stackoverflow.com/a/14060684