2009-03-17 15 views
53

Gibt es eine Open-Source-Java-Alternative zu GraphViz? Ich bin mir der Existenz von Grappa bewusst, die die Graph-Schnittstelle im Grunde als JavaAPI an GraphViz bindet. Das Layout wird jedoch immer noch von den GraphViz-Binärdateien ausgeführt.Reine Java Reimplementierung von GraphViz?

Ich bin auf der Suche nach einer reinen Java-Open-Source-Bibliothek mit den gleichen Funktionen und Layout-Algorithmen wie GraphViz.

+1

'Aktuelle Versionen der Software werden jedoch nur unter der Eclipse Public License (EPL) auf Open-Source-Basis lizenziert. '- http://www.graphviz.org/Download.php – Stephen

+1

Blick auf die Quellpapiere ist es wert http://www.graphviz.org/Theory.php – Stephen

Antwort

18

Sie können einen Blick auf JUNG (Java Universal Network/Graph Framework) werfen, die Visualisierungs- und Analysefunktionen hat. Es ist Open Source.

+2

JUNG jetzt für eine Weile, nachdem versucht, Gephi und einige andere scheint es wirklich gut zu funktionieren, obwohl ich bereits den Punkt erreicht habe, an dem ich meinen eigenen Layout-Algorithmus erstellen muss, um zu bekommen, was ich will. – davenpcj

6

yFiles scheint all dies zu bieten, aber es ist nicht kostenlos und nicht wirklich billig. Aber dann wieder scheint es ein sehr professionelles Produkt zu sein (habe es nicht benutzt, außer in yEd, das kostenlos benutzt werden kann).

8

Sie könnten JGraph betrachten, obwohl ich es nie benutzt habe, also kann ich jetzt nicht kommentieren, vergleicht es mit GraphViz.

4

Ich denke ZGRViewer ist was du willst. Ich mag ZGRViewer und AJaPaD wirklich.

+1

Das Layout wird immer noch von den graphviz-Binärdateien übernommen. – schmmd

+0

Das ist ein wirklich netter Zuschauer. Es hat fast keine Mühe gekostet, es auf meinem Windows 7 zum Laufen zu bringen. Hoffentlich kann ich seinen Quellcode hacken, um ihn in meine Java-Anwendung zu integrieren. –

18

Interessanterweise ist das Eclipse-Projekt eine SWT/JFace Komponente/Rahmen anzeigen kann hat und zum Erzeugen (Import/Export) Graphviz des 'DOT' -Format, in reinem Java:

ZEST (home page & download links)

Siehe http://wiki.eclipse.org/Graphviz_DOT_as_a_DSL_for_Zest für die Nutzung Beispiele.

Obwohl ZEST als Eclipse-Plugin angepriesen wird, scheint es, dass die DOT-Manipulations-APIs eigenständig und extern zu einer Eclipse-Installation verwendet werden können.

Um zu verdeutlichen, ist die DOT-Funktionalität ein Teil der ZEST 2 Funktionalität, die selbst eine Unterkomponente des GEF4 Projekts ist.

Prost

Reiche

Update (Mai 2017)https://github.com/nidi3/graphviz-java

+3

Aus der FAQ zu Zest, die Teil von GEF für Eclipse ist: Kann ich eine eigenständige GEF-Anwendung ohne Verwendung der Eclipse-Plattform entwickeln? Die offizielle Antwort ist Nein, dies wird nicht unterstützt. – davenpcj

+0

Ich kann es trotzdem verwenden, die Funktionen scheinen hervorragend. – davenpcj

+0

Zur Klarstellung, ich habe nicht vorgeschlagen, dass Sie das Eclipse Framework/API nicht brauchen, nur dass Sie Ihre eigene, eigenständige, DOT-basierte Anwendung, unabhängig vom ZEST Eclipse Plugin, programmieren können. –

1

Ich arbeitete mit yFiles vor etwa vier Jahren, und es war ausgezeichnet. Es ist teuer (anscheinend weniger als JGraph), aber ich arbeite in einem CS-Forschungslabor und hatte Zugang zu ihren großzügigen akademischen Preisen.

+1

Um zu klären, JGraph ist BSD lizenziert, es kostet nichts. – David