2012-03-15 22 views
6

Sto cercando di sistemare i miei nodi sotto forma di albero. Per ora, sto lavorando su questo esempio da here. Attualmente, sto facendo affidamento su un layout forzato, ma sto provando a modificarlo in modo tale da ottenere un albero con un numero predeterminato di livelli, cioè se un nodo appartiene a un particolare "Layer" dovrebbe appartenere alla stessa area degli altri nodi in il livello.Come posso costruire un albero usando d3 e il suo layout di forza?

Ho provato a spiegare di più nella foto qui sotto ma qualcuno ha qualche suggerimento per questo? Ci sono degli algoritmi predeterminati all'interno di d3 che fanno questo o possono essere ottimizzati per raggiungere questo obiettivo?

enter image description here

+0

La sorgente contiene un esempio per un albero dinamico. Dovresti dare un'occhiata, potrebbe essere quello che vuoi (almeno sembra simile). * modifica: * Intendo [questo esempio] (https://github.com/mbostock/d3/blob/master/examples/tree/tree-dynamic.html). –

+1

C'è un motivo per cui stai utilizzando un layout diretto alla forza anziché un layout ad albero statico, ad es. http://bl.ocks.org/1061834? – nrabinowitz

+0

@nrabinowitz: +1 Grazie. Non posso credere di averlo perso! Immagino che entrambi serviranno al mio scopo! C'è un modo per renderli interattivi in ​​modo che i nodi tornino quando li trascino da qualche parte? Ciò aiuta a trascinare alcuni nodi e a spiegarli a qualcuno. – Legend

risposta

10

Il diagramma sembra quasi identico al this example che utilizza una forza di gravità personalizzata in base alla profondità. C'è another example utilizzando una forza personalizzata che attira il nodo genitore. Questi sono entrambi da my talk in layout di forza.

Ovviamente, i layout di forza sono una sola opzione e, come @nrabinowitz, ci sono molti altri hierarchy layouts. moreinteractivehierarchyexamples nel mio SVG Open talk.

+1

Sei davvero una leggenda! Grazie mille per il tempo dedicato a mostrarmi tutti gli esempi. E a proposito, un discorso molto informativo. – Legend

Problemi correlati