Visualizzare un DAG
Domanda
Ho un grande grafico aciclico che desidero visualizzare un'immagine bitmap.
Idealmente mi piacerebbe avere tutti i nodi principali nella parte superiore dell'immagine, e tutti i nodi foglia in basso, cioè i bordi del grafico sono tutti punta in una direzione verso il basso.
C'è un algoritmo buona per lavorare fuori le coordinate di tutti i nodi che risponde a questi vincoli e produrrà una buona visualizzazione?
Soluzione
vi consiglio di utilizzare Gephi .
Questa morbida è in grado di fare tutte le cose che vuoi, in particolare layout grafico!
Altri suggerimenti
Guardate la href="http://www.graphviz.org/" rel="noreferrer"> Graphviz collezione di software Il modo più semplice è quello di scrivere il grafico su disco, in uno dei formati di testo di GraphViz. Quindi eseguire uno dei programmi di rendering, e caricare l'immagine risultante nella vostra applicazione.
bayesiani reti hanno esigenze simili. Si potrebbe cercare di algoritmi bayesiani per le reti. Questo carta per esempio potrebbe essere utile.
Si potrebbe essere interessato al disegno grafico stratificato (noto anche come "disegno gerarchico grafico" o "disegno grafico in stile Sugiyama"). L'algoritmo è troppo lungo descrivere qui, ma le ricerche di Google portare in su molte spiegazioni affidabili.
Si può provare questo pacchetto Go ho scritto: https://github.com/h8liu / e8tools / albero / master / dagvis
Un esempio: http://lonnie.io/gostd/dagvis/