Ist jemandem eine reine, auf Javascript basierende Implementierung der Richtungsflussdiagramme bekannt, die GraphViz generieren kann? Ich bin NICHT an hübschen visuellen Ausgaben interessiert, sondern an den Berechnungen zur Ermittlung der maximalen Tiefe jedes Knotens sowie an der Anordnung der Bezierlinien, die so optimiert sind, dass die Anzahl der sich überschneidenden Kanten minimiert wird, wenn es sich um ein Diagramm und nicht um einen Baum handelt von Informationen. Ich möchte diesen Code sowohl in einem Browser ausführen; Mir ist bewusst, dass ich Graphviz problemlos als Erweiterung oder sogar in meinen Node-Server einbetten popen()
und über Grafikinformationen im .dot
Format streamen kann .
Als Referenz finden Sie hier eine typische GraphViz-Ausgabe. Beachten Sie, wie Elemente gestapelt und beabstandet sind, damit die Verbindungslinien zwischen Knoten verlaufen können, ohne sich zu schneiden (sehr oft) oder durch Knoten zu verlaufen.
quelle
Antworten:
Schauen Sie sich diese reine JavaScript-Implementierung eines .dot-Canvas-Renderers an:
http://ushiroad.com/jsviz/
Die Bibliothek ist nicht dokumentiert - der Autor sollte sie definitiv mehr veröffentlichen und dokumentieren (ich werde ihn kontaktieren, um ihm vorzuschlagen, dass er sie zumindest auf Github veröffentlicht).
Update : Code wurde an github: https://github.com/gyuque/livizjs gesendet
Update (14/2/2013) : Ein weiterer Anwärter ist aufgetaucht ! Jeder, der sich für das Thema interessiert, sollte sich unbedingt die Beispielseite und das Github-Repo von Viz.js ansehen .
Update (16.07.2020) : (sieben Jahre später) http://webgraphviz.com/ ist auch großartig! :-)
quelle
Nachdem ich weit und tief gesucht hatte, fand ich endlich die Antwort.
Die Lösung bestand darin, dass jemand Graphviz mit llvm + emscripten über Javascript kompilierte. Hier ist der Link:
http://viz-js.com/
Die Quelle finden Sie unter: https://github.com/mdaines/viz.js
Und um einfach eine Webseite aufzurufen, verwenden Sie:
quelle
Nachdem ich mir alle Optionen angesehen hatte, fand ich viz.js ( https://github.com/mdaines/viz.js/ ) basierend auf jsviz und graphviz.js, um tatsächlich eine API zu haben, die von einer Webseite aus verwendet werden kann, und genügend Beispiele dafür verstehen.
quelle
Man könnte versuchen, graphviz in Javascript zu konvertieren, genau wie es für das Beispiel 'PDF Reader' gemacht wurde: https://github.com/kripken/emscripten
quelle
Dies ist kein vorgefertigter Graphviz-Ersatz, aber d3.js ist eine Bibliothek, die verschiedene Layouts aus bestimmten Daten erstellen kann und eine großartige Plattform für die Implementierung von Graphviz darstellt.
Hier ist ein Beispiel für kraftgerichtete Layouts , eine Form dessen, was graphviz tut.
Hier ist eine Rede über Layouts mit wahnsinnig tollen interaktiven Folien .
Um das Projekt kennenzulernen, sind die Tutorials sehr gut.
quelle
Hier ist eine Kreuzzusammenstellung von Graphviz zu Javascript, die mit Emscripten erstellt wurde
https://github.com/bpartridge/graphviz.js
quelle