2016-04-05 5 views
1

Ich bin neu mit d3 und ich versuche, eine Treemap zu erstellen. Ich bemerkte, dass mein Code funktioniert, wenn ein Schlüssel "Wert" genannt wird, und nicht, wenn ich meinen Schlüssel "Größe" zum Beispiel rufe.Ist es möglich, eine Treemap zu erstellen, wenn eine Spalte "Wert" genannt wird

meine probleme Start bei den ersten Zeilen:

d3.json("dataZC.json", function(err, data) 
{ 
    var treemap =d3.layout.treemap() 
      .size([500,500]) 
      .nodes(data); 
console.log(treemap); 
} 

Meine Daten wie, dass, wenn

{ 
"name": "flare", 
"children": [ 
    {"name": "analytics", 
    "children": [ 
    {"name": "cluster", 
    "children": [ 
     {"name": "AgglomerativeCluster", "size": 3938}, 
     {"name": "CommunityStructure", "size": 3812}, 
     {"name": "HierarchicalCluster", "size": 6714}, 
     {"name": "MergeEdge", "size": 743} 
    ]}, 
    { 
    "name": "graph", 
    "children": [ 
     {"name": "BetweennessCentrality", "size": 3534}, 
     {"name": "LinkDistance", "size": 5731}, 
     {"name": "MaxFlowMinCut", "size": 7840}, 
     {"name": "ShortestPaths", "size": 5914}, 
     {"name": "SpanningTree", "size": 3416} 
    ]} 

    ,........ 

    ]} 
]} 

sieht jemand eine Lösung mit allen möglichen Schlüssel zu verwenden treemap hat, ich # d sehr dankbar . Danke.

Antwort

0

Vom fine manual:

treemap.value ([Wert])
Wenn Wert angegeben wird, setzt den Wert Accessor an die angegebene Funktion. Wenn der Wert nicht angegeben wird, um den aktuellen Wert Accessor gibt, die davon ausgeht, dass die Eingangsdaten sind ein Objekt mit einem numerischen value Attribute:

function value(d) { 
    return d.value; 
} 

Verwenden

treemap = d3.layout.treemap() 
    .value(function(d) { 
     return d.size; 
    }) 
+0

Perfect, danke! –

Verwandte Themen