我試圖從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