數據我下面這個例子爲multi-line graphD3正從多列CSV
我想用值2010年以來,2011年繪製的每個預測在我的CSV,2012年
forecast.csv
forecast,2010,2011,2012
Outlook,87,88,88
Reform,50,20,88
Renewal,43,21,88
如果我的數據是簡單的像例子中的鏈接,建立圖表的代碼是這樣的:
var priceline = d3.svg.line()
.x(function(d) { return x(d.year); })
.y(function(d) { return y(d.value); });
var dataNest = d3.nest()
.key(function(d) {return d.forecast;})
.entries(data);
dataNest.forEach(function(d) {
svg.append("path")
.attr("class", "line")
.attr("d", priceline(d.values));
console.log(dataNest)
});
但是我的數據來自多列CSV。
我試圖嵌套預測,所以每個預測都會有一個年份和值對的數組。即
[0] Object
[key] Outlook
[values]
[0] year: 2010
value: 28
[1] year: 2011
value: 88
但dataNest目前看起來是這樣的
[0] Object
[key] Outlook
[values]
[0] 2010: 87
2011: 88
2012: 88
還有許多其他年份的實際數據,因此變調是不是一種選擇。如何從此多列CSV數據中繪製一條線?
你有沒有想過關於首先對數據進行融合,以便第二列的年份和第三列的相應數值? – Terry
是的,但是我的數據太大 - 每個預測都有30多年。我可以用d3做這個,還是我需要學習在R中做這個例子? – user3821345
如果數據是靜態的,您可以簡單地對年份值進行一次硬編碼,使用'd3.csv()'遍歷CSV文件,然後將每年推入一個對象數組中? – Terry