viz open node gvedit for javascript graphviz

javascript - open - node js viz



Pure JavaScript Graphviz equivalente (6)

¿Alguien sabe de una implementación pura basada en Javascript de los diagramas de flujo direccional que GraphViz es capaz de generar? No me interesan las bonitas salidas visuales, sino los cálculos para calcular la profundidad máxima de cada nodo, junto con el diseño de las líneas bezier optimizadas para minimizar el número de bordes que se cruzan cuando se trata de un gráfico en lugar de un árbol de información. Me gustaría ejecutar este código tanto dentro de un navegador; Soy consciente de que podría incrustar fácilmente Graphviz en mi servidor de nodo como una extensión, o incluso popen() y transmitir información sobre el gráfico en formato .dot .

Como referencia, aquí hay una salida típica de GraphViz. Observe cómo los elementos se apilan y espacian para permitir que las líneas de conexión viajen entre nodos, sin intersecarse (muy a menudo) o pasar por los nodos.



Después de analizar todas las opciones, encontré viz.js ( https://github.com/mdaines/viz.js/ ) basado en jsviz y graphviz.js para tener realmente una API utilizable desde una página web, y suficientes ejemplos para entender.


Después de buscar por todas partes finalmente encontré la respuesta.

La solución fue que alguien realizó una compilación de Graphviz a Javascript usando llvm + emscripten. Aqui esta el link:

http://viz-js.com/

La fuente se puede encontrar en: https://github.com/mdaines/viz.js

Y para simplemente obtener un uso de página web:

var graphviz_text = ...; document.body.innerHTML += Viz(graphviz_text, "svg");


Eche un vistazo a esta implementación de JavaScript puro de un renderizador de lienzo .dot:

http://ushiroad.com/jsviz/

La biblioteca no está documentada: el autor definitivamente debería publicitarla y documentarla más (me pondré en contacto con él para sugerirle que la ponga en github, como mínimo).

Actualización : el código se ha enviado a github: https://github.com/gyuque/livizjs

Actualización (14/2/2013) : ¡Ha surgido otro contendiente! cualquier persona interesada en el tema definitivamente debería echar un vistazo a la página de ejemplo de Viz.js y al repositorio github .