15

Ho un grande grafico aciclico diretto che mi piacerebbe visualizzare in un'immagine bitmap.Visualizzazione di un DAG

Idealmente mi piacerebbe avere tutti i nodi radice nella parte superiore dell'immagine, e tutti i nodi foglia in basso, cioè i bordi del grafico sono tutti rivolti verso il basso.

Esiste un buon algoritmo per calcolare le coordinate di tutti i nodi che soddisfano questi vincoli e produrrà una buona visualizzazione?

risposta

12

Vi consiglio di utilizzare Gephi.

Questo software è in grado di eseguire tutte le operazioni desiderate, in particolare i layout di grafici!

+0

Quello è uno strumento molto cool - molte grazie per il link !! – mikera

+0

Prego! –

7

Guarda la collezione di software Graphviz. Contiene diversi programmi per il rendering di grafici.

Il modo più semplice è scrivere il tuo grafico su disco, in uno dei formati di testo di Graphviz. Quindi esegui uno dei programmi di rendering e carica l'immagine risultante nella tua applicazione.

3

Le reti bayesiane hanno requisiti simili. Potresti cercare algoritmi per reti bayesiane. Per esempio, This paper potrebbe essere utile.

0

Potresti essere interessato al disegno del grafico a strati (noto anche come "disegno grafico gerarchico" o "disegno grafico in stile Sugiyama"). L'algoritmo è troppo lungo per essere descritto qui, ma le ricerche di Google offrono molte spiegazioni affidabili.

0

Si può provare questo pacchetto Go ho scritto: https://github.com/h8liu/e8tools/tree/master/dagvis

Un esempio: http://lonnie.io/gostd/dagvis/

+0

Si noti che [risposte solo per collegamento] (http://meta.stackoverflow.com/tags/link-only-answers/info) sono scoraggiate, pertanto le risposte dovrebbero essere il punto finale di una ricerca di una soluzione (vs. ancora un altro scalo di riferimenti, che tendono a diventare stantii nel tempo). Si prega di considerare l'aggiunta di una sinossi autonoma qui, mantenendo il collegamento come riferimento – kleopatra

+0

si dovrebbe scrivere almeno una breve descrizione in risposta come dire @kleopatra. – urfusion