Czy ktoś wie o czystej, opartej na JavaScript implementacji diagramów przepływu kierunkowego, które GraphViz jest w stanie wygenerować? NIE interesują mnie ładne efekty wizualne, ale obliczenia mające na celu określenie maksymalnej głębokości każdego węzła, wraz z układem linii Beziera, które są zoptymalizowane, aby zminimalizować liczbę przecinających się krawędzi, gdy masz do czynienia z wykresem, a nie drzewem informacji. Chciałbym uruchomić ten kod zarówno w przeglądarce; Zdaję sobie sprawę, że mogę łatwo osadzić Graphviz na moim serwerze Node jako rozszerzenie, a nawet popen()
go i przesyłać strumieniowo informacje o wykresie w .dot
formacie.
Dla odniesienia, oto typowe wyjście GraphViz. Zwróć uwagę, jak elementy są układane w stos i rozmieszczone w odstępach, aby umożliwić liniom łączącym przemieszczanie się między węzłami bez przecinania się (bardzo często) lub przechodzenia przez węzły.
źródło
Odpowiedzi:
Spójrz na tę implementację renderowania płótna .dot w czystym JavaScript:
http://ushiroad.com/jsviz/
Biblioteka nie jest udokumentowana - autor zdecydowanie powinien ją bardziej nagłośnić i udokumentować (skontaktuję się z nim, aby zasugerować, że umieścił ją przynajmniej na githubie).
Aktualizacja : kod został przesłany na github: https://github.com/gyuque/livizjs
Aktualizacja (14.02.2013) : pojawił się kolejny pretendent! każdy zainteresowany tym tematem powinien zdecydowanie spojrzeć na przykładową stronę Viz.js i repozytorium github .
Aktualizacja (16.07.2020) : (siedem lat później) http://webgraphviz.com/ jest również świetne! :-)
źródło
Po przeszukaniu daleko i nisko w końcu znalazłem odpowiedź.
Rozwiązaniem było to, że ktoś skompilował Graphviz do Javascript przy użyciu llvm + emscripten. Tutaj jest link:
http://viz-js.com/
Źródło można znaleźć pod adresem : https://github.com/mdaines/viz.js
Aby po prostu otworzyć stronę internetową, użyj:
źródło
Po przejrzeniu wszystkich opcji znalazłem viz.js ( https://github.com/mdaines/viz.js/ ) w oparciu o jsviz i graphviz.js, aby faktycznie mieć interfejs API do użytku ze strony internetowej i wystarczająco dużo przykładów, aby Rozumiesz.
źródło
Można spróbować przekonwertować graphviz do javascript, tak jak zrobiono to dla przykładu „czytnik PDF”: https://github.com/kripken/emscripten
źródło
To nie jest gotowy zamiennik Graphviz, ale d3.js to biblioteka, która może wykonywać różne układy na podstawie danych i byłaby świetną platformą do implementacji Graphviz.
Oto przykład układów ukierunkowanych na siłę, które są jedną z form tego, co robi Graphviz.
Oto przemówienie o układach z niesamowicie niesamowitymi interaktywnymi slajdami .
Aby poznać projekt, tutoriale są bardzo dobre.
źródło
Oto krzyżowa kompilacja Graphviz do Javascript wykonana przy użyciu Emscripten
https://github.com/bpartridge/graphviz.js
źródło