2017-05-11 22 views
0

我使用d3.nest()將我的數據分組到類別中。從d3.nest()獲取感興趣的值數組 - D3JS

d3.nest() 
    .key(function(d) { return d[indexCateCol]; }) 
    .entries(irisData);` 

不過,我想知道我怎樣才能使價值從我感興趣的屬性的數組。

(3) [Object, Object, Object] 
    0:Object 
    key:"setosa" 
    values:Array(50) 
     0:Array(5) 
     0:5.1 
     1:3.5 
     2:1.4 
     3:0.2 
     4:"setosa" 
     length:5 
    1:Array(5) 
    2:Array(5)` 

換句話說,我要生產的陣列我感興趣的每一個物種,例如[5.1,4.9,4.7,4.6,...]「Sepal.Length」或從每個數組中的值爲「0:5.1」。

我相信我可以編寫一個循環來獲取這些數組,但是還有更多JavaScript-ish方法可以執行此操作。

+0

我認爲你必須更明確的表現開始的數據形狀以及您希望成爲數據的最終形狀。 – voam

回答

0

如果你想獲得值的每個物種陣列(基於你顯示的數據我的理解),你可以這樣做:

var myNest = d3.nest() 
    .key(function(d) { return d[indexCateCol]; }) 
    .entries(irisData);` 

/* Get the values of setosa as an array of arrays*/ 
var arrSetosa = myNest.setosa.values; 

/* Get the 1st value of the 3rd "column" */ 
var val = arrSetosa[2][0];