如何调整来自http://bl.ocks.org/mbostock/3884955的以下代码以选择特定列?
var line = d3.svg.line()
.x(function(d) { return x(d.date); })
.y(function(d) { return y(d.temperature); });
d3.tsv("data.tsv", function(error, data) {
color.domain(d3.keys(data[0]).filter(function(key) { return key !== "date"; }));
data.forEach(function(d) {
d.date = parseDate(d.date);
});
var cities = color.domain().map(function(name) {
return {
name: name,
values: data.map(function(d) {
return {date: d.date, temperature: +d[name]};
})
};
});
在上面示例中使用的数据中,有 4 列:日期和 3 个城市的温度列。在我的用例中,我有 10 列:3 个城市的每个城市的日期和 3 个变量,即 (1 + [3 * 3])。我想加载整个数据集(用于工具提示),但只想绘制列索引#1、4 和 7 中每个城市的变量之一。我该怎么做?(请参阅下面的粗略语法)。
var cities = color.domain().map(function(name) {
return {
name: name,
values: data.map(function(d) {
return {date: d.date, maxTemperature: *+d[arrays in column index 1, 4 and 7]*};
})
values2: data.map(function(d) {
return {date: d.date, minTemperature: *+d[arrays in column index 2, 5 and 8]*};
})
values3: data.map(function(d) {
return {date: d.date, avgTemperature: *+d[arrays in column index 3, 8 and 9]*};
})
};
});