quale dei framework di disegno grafico Java open source da utilizzare per un diagramma di rete con i seguenti requisiti? Il grafico avrà meno di 1000 nodi.confronto di framework di disegno java open source (JUNG e Prefuse) per il disegno della topologia di rete
1) presenta bordi paralleli
2) diretto e bordi non orientati all'interno di un unico grafico
3) i nodi rappresentati dalle immagini
4) l'interazione dell'utente con nodi e bordi
5) aggiungere dinamicamente/eliminazione dei nodi e spigoli
6) etichettatura multipla su nodi e spigoli, diversi livelli di etichettatura possono essere disattivati / attivati dagli utenti. (come disegnare a strati e spegnere/su un livello)
7) diversi algoritmi di layout per visualizzare le topologie a stella, ad anello, a maglia
Ho valutato JUNG e Prefuse. Questo è quello che ho trovato per ciascuna delle mie esigenze.
1) Prefused non può visualizzare i bordi paralleli mentre JUNG lo supporta. È possibile manipolare il codice di prefusione per visualizzare i bordi paralleli? Dato che questo comporta cambiamenti di livello di dati di base, credo che sarebbe più difficile che il solito rendering personalizzato cambi.
2) Non ho trovato alcun riferimento al grafico combinato (sia diretto che non orientato) sia in prefuse che in JUNG. Qualcuno sa altrimenti?
3) Questo sembra facile sia Prefuse e JUNG
4) Anche in questo caso sia prefusibile e JUNG fornisce il supporto per l'interazione dell'utente.
5) Sia Prefuse che JUNG lo supportano. Come si comporta ogni quadro durante il ridisegno del grafico? Ho visto in un altro post che prefuse non funziona bene per gli aggiornamenti dinamici (Prefuse Toolkit: dynamically adding nodes and edges)
6) Questo si riduce a modificare il grafico e ridisegnarlo. Quindi la domanda diventa la stessa di 5)
7) Sia JUNG che prefuse hanno più algoritmi di layout. Ma quando ho provato a visualizzare lo stesso set di dati utilizzando FruchtermanReingoldLayout in JUNG e Prefuse ottengo diversi display. Qualche idea, perché? In qualche modo gli algoritmi di layout in Prefuse sembrano mostrare un layout migliore rispetto a JUNG (il rendering è anche meglio penso) sebbene la maggior parte degli algoritmi di layout in Prefuse siano basati sull'implementazione di JUNG. I layout prefusi come ForceDirectedLayout/FruchtermanReingoldLayout e CircleLayout vengono mappati direttamente alle topologie a stella, cerchio, mesh.
Al di fuori di questi requisiti, il prefuse ha un buon supporto per espressioni e linguaggio di query, ma sembra che non sia sviluppato attivamente a differenza di JUNG. quale è la visualizzazione migliore? Qualche suggerimento su quale sarà adatto e su come superare le carenze?
Qualsiasi altro quadro che posso utilizzare?
+1 per questo . Mi piace il fatto che hai svolto un sacco di lavoro iniziale valutando due possibilità e presentato le tue scoperte. C'è molto valore qui per gli altri oltre la tua domanda. Questa potrebbe essere la migliore "prima domanda" per un nuovo utente che ho visto in due anni qui. Lo darei di più se potessi. – duffymo