带有CSV多级数据的D3.js折线图

带有CSV多级数据的D3.js折线图,csv,d3.js,data-visualization,linechart,Csv,D3.js,Data Visualization,Linechart,这可能是一个初学者的问题,但在看了大量的示例后,我无法理解如何使用d3.nest()或d3.map()或任何必要的方法从我的带有d3.js的CSV文件中提取所需的数字 我有一个包含以下数据的CSV文件: name,year,number1,number2,number3 Superman,2003,227141296,214978953,212418250 Superman,2004,232769230,220606887,211301729 Superman,2005,192769230,22

这可能是一个初学者的问题,但在看了大量的示例后,我无法理解如何使用d3.nest()或d3.map()或任何必要的方法从我的带有d3.js的CSV文件中提取所需的数字

我有一个包含以下数据的CSV文件:

name,year,number1,number2,number3
Superman,2003,227141296,214978953,212418250
Superman,2004,232769230,220606887,211301729
Superman,2005,192769230,220606887,211301729
Batman,2003,252873171,239836381,225174161
Batman,2004,286137492,262439880,243001175
Batman,2004,232769230,220606887,211301729
Spiderman,2006,309584667,279490239,248758932
Spiderman,2007,324081833,278022620,246734614
Spiderman,2008,294081833,278022620,246734614
我想做的是创建:

  • 每个名称一个折线图
  • 在折线图中,每个数字对应一条路径/线
  • 以X轴表示的年份
d3.nest()能够解决这个问题吗? 在这种情况下,我是否必须为我想要绘制的每条路径重复嵌套

我很抱歉,如果答案是显而易见的,你必须阅读这篇文章,但如果你能带领我朝着正确的方向前进,我将是伟大的

d3.csv("budsjettgrafikk.csv", function(error, data){

   data.forEach(function(d) {
       ***???***;
   })
   d3.nest()
       ***???*** ;
});
是的,
d3.nest()
就是您想要的

d3.nest()
  .key(function(d) { return d.name; })
  .entries(data)
这将使数据成为您需要的形式;i、 e.2D数组(更准确地说,是一个对象数组,每个对象内有一个较低级别的数组),其中顶层有2个成员(“超人”和“蝙蝠侠”),每个成员都包含一行记录


要呈现线条,因为这是一个嵌套的数据结构,您需要了解如何使用。

我不想只留下链接,但完整的解释可能有点长。我们将解释您可能正在寻找的示例,并提供一个实际示例