我试图解析csv文件以用于折线图。 csv文件的组织如下:
----------
Row 1 (headings): Series, Year, Economy X, Economy Y, Economy Z....
Row 2 (value rows): Indicator 1, 2012, 38, 73.2, 28
Row 3 (value rows): Indicator 1, 2013, 41, 74.2, 24
Row 4 (value rows): Indicator 2, 2012, 38, 73.2, 28
Row 5 (value rows): Indicator 2, 2013, 41, 74.2, 24
....
----------
我正试图创造经济'对象'每个包含一个由“年”组成的对象。 (编码为'标签'),'系列' (编码为'系列'),以及相应的值(编码为'值')。
按照例子 delimited.io我设法制作了这些物品(见下面的2个例子)。
[Object, Object, Object, Object, Object, Object]
0: Object
name: "Switzerland"
values: Array[20]
0: Object
label: "2005"
name: "Switzerland"
series: "Indicator 1"
value: 2.96
__proto__: Object
1: Object
label: "2006"
name: "Switzerland"
series: "Indicator 1"
value: 3.297018849
问题在于我只想为csv文件中的一个指标创建对象,因为只绘制该指标的数据。因此,我需要过滤掉所有指标,但需要我想要的指标(例如"指标1和#34;)。
目前的代码如下:
d3.csv("data/sample data.csv", function (error, data) {
var whichSeries='Indicator 1';
var xAxis = 'Year';
var series='Series';
var economies = d3.keys(data[0])
.filter(function (key) {
return key !== xAxis && key !==series});
console.log("economies",economies);
var seriesData = economies.map(function (name) {
return {
name: name,
values: data.map(function (d) {
return {name: name, label: d[xAxis], series: d[series], value: +d[name]};
}
})
};
});
如何仅为'指标1'?
构建seriesData非常感谢!!
特里