2017-11-15 24 views
1

Ich habe ein Tutorial auf d3 gesehen, aber es zeigt etwas veralteten Code, der nicht mehr auf v4 verwendet wird. Ich habe mich gefragt, was wäre die aktualisierte Syntax für var links = tree.links(nodes); für D3 v4?tree.links() für D3 v4

Wenn jemand neugierig ist, ist dies der Link zum Tutorial. https://www.youtube.com/watch?v=iZ6MSHA4FMU&list=PL6il2r9i3BqH9PmbOf5wA5E1wOG3FT22p&index=15

+0

In v3 ist es 'tree.links()', nicht 'tree.link()'. Ich habe gerade den Titel bearbeitet. –

Antwort

1

Sie müssen links() in der Hierarchie aufrufen.

Die changelog Gespräche über diese Änderung:

ein Array von {source, target} node.links zu generieren Links für eine gegebene Hierarchie, verwenden; Dies ersetzt tree.links und ähnliche Methoden in den anderen Layouts.

Hier ist eine grundlegende Demo (die Konsole Ihres Browsers, nicht der Stack-Schnipsel-Konsole):

var data = { 
 
    "name": "Eve", 
 
    "children": [{ 
 
    "name": "Cain" 
 
    }, { 
 
    "name": "Seth", 
 
    "children": [{ 
 
     "name": "Enos" 
 
    }, { 
 
     "name": "Noam" 
 
    }] 
 
    }, { 
 
    "name": "Abel" 
 
    }, { 
 
    "name": "Awan", 
 
    "children": [{ 
 
     "name": "Enoch" 
 
    }] 
 
    }, { 
 
    "name": "Azura" 
 
    }] 
 
}; 
 

 
var hierarchy = d3.hierarchy(data); 
 

 
var tree = d3.tree(); 
 

 
var links = tree(hierarchy).links(); 
 

 
console.log(links)
<script src="https://d3js.org/d3.v4.min.js"></script>

+0

vielen dank! – user3435505