2011-08-25 12 views
8

Ho una catena Markov che vorrei rappresentare graficamente in javascript. Devo rappresentare i nodi, i collegamenti e le probabilità di transizione. Forse qualcosa di simile a uno di questi due schemi:Catena grafica markov in javascript

enter image description here enter image description here

Trovare una buona libreria di immagini (come Raffaello) non è il problema. Il problema, per me, è trovare un modo per assicurarmi che i nodi siano disposti bene, con una quantità minima di linee che attraversano di fronte altri nodi o linee. Qualcosa come l'opzione "Lay out diagram" in OmniGraffle (sono sicuro che c'è una funzionalità simile in Visio).

C'è una libreria JS che può fare questo per me, e se qualcuno non ha idea di come affrontare un problema come questo? Nota che le mie catene markov sono probabilmente molto più complesse degli esempi sopra.

+0

come è nato il progetto? –

+0

@MichaelPaulukonis ho finito con l'uso di graphdracula (vedi il mio commento alla risposta di Femi). Ha funzionato, ma non è così bello come speravo. C'erano alcuni problemi quando un nodo punta a se stesso o quando due nodi formano un ciclo. Il posizionamento delle probabilità di transizione a volte non era chiaro a quale linea appartenesse. Tuttavia, non ho trovato nulla di meglio, quindi è stato fatto. – Jeff

+0

il tuo codice è disponibile? Sarei interessato a lanciare alcune cose per vedere come appaiono le catene (non accademicamente correlate). –

risposta

3

È possibile distinguere con una delle librerie di grafi dirette come D3 o una delle directed graph layers on Raphael.

+0

+1 su come usare Raffaello. 2.0 è anche sulla strada: https://github.com/DmitryBaranovskiy/raphael/tree/2.0 – Hyangelo

+0

Grazie! Immagino che aiuti a conoscere la terminologia giusta - googling "force directed graph" mi ha aiutato a trovare anche altre alternative, e graphdracula.net sembra adattarsi alle mie esigenze. thejit.org è un altro per chi cerca alternative. – Jeff

+0

Hehe. Sono contento di aiutarti a fornire l'incantesimo giusto da inserire in Google. – Femi

2

Attualmente sto utilizzando mxGraph. Non è gratuito, ma è un caso in cui ottieni quello per cui paghi.