在Javascript中加载多个CSV文件

在Javascript中加载多个CSV文件,javascript,csv,d3.js,parallel-coordinates,Javascript,Csv,D3.js,Parallel Coordinates,我有点困惑,我需要使用javascript加载多个CSV文件,并且我需要更改加载的每个数据集的一些属性。所以基本上我使用的是d3框架,我想加载3个csv文件,然后对于每个csv文件,我需要更改平行坐标图中绘制的线的颜色。目前,我使用了三个数据加载,但这弄乱了我的绘图,我有所有的值 // load csv file and create the chart d3.csv('X.csv', function(data) { pc = d3.parallelCoordinates()("parall

我有点困惑,我需要使用javascript加载多个CSV文件,并且我需要更改加载的每个数据集的一些属性。所以基本上我使用的是d3框架,我想加载3个csv文件,然后对于每个csv文件,我需要更改平行坐标图中绘制的线的颜色。目前,我使用了三个数据加载,但这弄乱了我的绘图,我有所有的值

 // load csv file and create the chart
d3.csv('X.csv', function(data) {
pc = d3.parallelCoordinates()("parallelcoordinates")
    .data(data)
    .color(color)
    .alpha(0.4)
    .render()
    .brushable()  // enable brushing
    .interactive()  // command line mode

var explore_count = 0;
var exploring = {};
var explore_start = false;
pc.svg
    .selectAll(".dimension")
    .style("cursor", "pointer")
    .on("click", function(d) {
        exploring[d] = d in exploring ? false : true;
        event.preventDefault();
        if (exploring[d]) d3.timer(explore(d,explore_count,pc));
});

我正在做上述三次。现在发生的情况是,所有数据都绘制在同一个图形上,但值重叠(基本上是三个图形相互重叠)。我想把它全部集成起来,我认为最好的方法是智能地加载JS文件并以某种方式对其进行操作。我不知道怎么做。有人能告诉我怎样才能做到这一点吗

此线程将非常有用:

链接的最佳解决方案(IMO)是:

  var rows1, rows2, remaining = 2;

  d3.csv("file1.csv", function(csv) {
    rows1 = csv;
    if (!--remaining) doSomething();
  });

  d3.csv("file2.csv", function(csv) {
    rows2 = csv;
    if (!--remaining) doSomething();
  });

  function doSomething() {
   // … do something with rows1 and rows2 here …
  }
您可以使用d3同时加载文件。一个例子

d3.queue()
.defer(d3.csv, "file1.json")
.defer(d3.csv, "file2.json")
.defer(d3.csv, "file3.json")
.await(function(error, file1, file2, file3) {
    if (error) {
        console.error('Oh dear, something went wrong: ' + error);
    }
    else {
        doSomeStuff(file1, file2, file3);
    }
});

我会将这三个文件加载到三个对象数组中,对它们进行concat,并将其提供给D3