我是D3的新手,任务是创建一个显示油井数据的仪表板。数据位于3个csv文件中,标题如下。
我使用d3.nest()
对每个文件中的记录进行分组,但希望将分组的数组合并到一个结构中。
其中一个主要的显示是将每口井的预算估计与实际产量按天进行比较,然后按设施进行比较。
任何帮助都将不胜感激。
发布于 2016-06-25 04:33:28
一种方法是嵌套多个d3.csv
调用,如下所述:Importing data from multiple csv files in D3
d3.csv("file1.csv", function(data1) {
d3.csv("file2.csv", function(data2) {
d3.csv("file3.csv", function(data3) {
// do something with the data
console.log("CSV1", data1);
console.log("CSV2", data2);
console.log("CSV3", data3);
});
});
});
另一种选择(我更喜欢)是使用d3.queue (这是一个插件-您需要单独导入queue.js
):
queue()
.defer(d3.csv, 'file1.csv')
.defer(d3.csv, 'file2.csv')
.defer(d3.csv, 'file3.csv')
.await(processData);
function processData(data1, data2, data3) {
// do something with the data
console.log("CSV1", data1);
console.log("CSV2", data2);
console.log("CSV3", data3);
}
在那里,您可以使用d3和JavaScript数组操作函数来组合、合并、拆分和对数据对象执行任何您想做的操作。例如,您可能希望使用d3.nest().key()
来组织CSV,以便可以使用WellId
字段选择它们,然后使用嵌套的For循环或其他机制将它们组合在一起。以下是一些关于D3中数据操作的优秀教程和参考资料:
https://stackoverflow.com/questions/38021370
复制相似问题