我目前正在使用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)
;
}
答案 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