上周我测试了D3js后,我在nvd3上是新的。我想从.csv文件加载数据与nvd3,我在D3上做,但我无法与nvd3做...有人知道如何做到这一点? 随着D3我写的下一行,我从我的wather.csv获取数据:是否可以将csv数据加载到nvd3库?
d3.csv("weather.csv", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d.Hour);
d.T = +d.T;
})
});
考虑像我weather.csv文件:
"Hour";"T";
"25.04.2013 12:00";"18.7";
"25.04.2013 11:00";"18.5";
"25.04.2013 10:00";"18.4";
"25.04.2013 09:00";"18.9";
...
在Nvd3例子,我发现只有代码中的变量,不加载任何.csv或.json文件。我想从一个文件加载数据并显示一个简单的条形图。
修订
在这里,我说我实现的代码,它不工作。我使用D3中的函数.csv,但导航器说数据不存在,我不知道为什么。
var parseDate = d3.time.format("%d.%m.%Y %H:%M").parse;
d3.csv("weather.csv", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d.Hour);
d.T = +d.T;
})
nv.addGraph(function() {
//console.log(data);
var chart = nv.models.discreteBarChart()
.x(function(d) { return d.date })
.y(function(d) { return d.T })
.staggerLabels(true)
//.staggerLabels(historicalBarChart[0].values.length > 8)
.tooltips(false)
.showValues(true);
d3.select('#chart1 svg')
//.datum(historicalBarChart)
.datum(data)
.transition().duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
});
谢谢。
的创建者解释,但不CSV数据被转换成一个JSON阵列与nvd3使用? ,我对此有点困惑。 – shabeer90 2013-04-26 09:38:56
我已经使用完整的代码更新了代码。也许@ shabeer90是对的,我需要将csv转换为json吗? – newpatriks 2013-04-26 09:42:43
如果'data'不存在,则表明加载文件时出现问题。不,不需要额外的转换。一旦数据被加载(从CSV或JSON或其他),它可以作为Javascript对象。 – 2013-04-26 09:52:19