D3.js列数和行数未知

时间:2014-08-19 12:41:20

标签: arrays d3.js

我目前正在创建一个图表(来自外部csv文件的数据)但我事先并不知道列数和行数。您是否可以指出我在哪里可以找到一些有关此问题的帮助(或一些示例)?

谢谢

2 个答案:

答案 0 :(得分:7)

d3.csv可以为您提供帮助:

d3.csv('myCSVFile.csv', function(data){

  //the 'data' argument will be an array of objects, one object for each row so...

  var numberOfRows = data.length, // we can easily get the number of rows (excluding the title row)

      columns = Object.keys( data[0] ),  // then taking the first row object and getting an array of the keys

      numberOfCOlumns = columns.length;  // allows us to get the number of columns

});

请注意,此方法假定电子表格的第一行(且仅第一行)是列标题。

答案 1 :(得分:2)

除了Tom P的建议之外,值得注意的是D3版本4引入了 columns 属性,您可以使用该属性创建列标题数组(即数据集的“键”)。

这很有用,因为(a)它的代码更简单,(b)数组中的标题与它们在数据集中出现的顺序相同。

因此,对于上述数据集:

headers = data.columns

...创建相同的数组:

headers = Object.keys(data[0])

...但是列名称数组是可预测的顺序。