我试图从CSV文件加载数据并使用lineWithFocusChart模型将其呈现给D3图表。我是D3图表的新手,但能够理解基础知识是如何工作并通过示例的。将数据从CSV文件加载到D3中的lineWithFocusChart中
这里是我的代码:
nv.addGraph(function() {
var chart = nv.models.lineWithFocusChart();
chart.xAxis.tickFormat(d3.format(',f'));
chart.x2Axis.tickFormat(d3.format(',f'));
chart.yAxis.tickFormat(d3.format(',.2f'));
chart.y2Axis.tickFormat(d3.format(',.2f'));
d3.select('#chart svg').datum(testData()).call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
function loadData()
{
d3.csv("/data/datademo.csv", function(error, data) {
if (error) {
console.log("ERROR: " + error)
} else {
console.log("loadData: " + data);
return data;
}
});
}
function testData() {
var datasensors = loadData().map(function(data, i) {
return {
key: 'Sensor ' + i,
values: data
};
});
return datasensors;;
}
<div id="chart">
<svg></svg>
</div>
在我的CSV数据是因为它得到(它假设装载的心电图数据)一样简单:
x,y
0,-69.743590
1,0.195360
2,0.195360
3,-1.758242
我出现错误:
Uncaught TypeError: Cannot read property 'map' of undefined
并且图表甚至没有加载。
任何人都可以帮助我。
即使使用硬编码值I获得D3误差的每个值('无效值属性变换= “翻译(NaN时,NAN)'” ' 变种datasensors = [{ \t键: “传感器1” , \t值:[[0.000000,-69.743590],[0.003906,0.195360],[0.007812,0.195360]] },{ \t键: “传感器2”, \t值:[[0.000000,108.034188] [0.003906,0.195360],[0.007812,0.586081]] } ]; ' –
hugos
2015-03-25 18:14:40