2011-08-25 34 views
8

Tengo una cadena de Markov que me gustaría representar gráficamente en javascript. Necesito representar los nodos, enlaces y probabilidades de transición. Tal vez algo así como uno de estos dos diagramas:Cadena gráfica de markov en javascript

enter image description here enter image description here

Encontrar una buena biblioteca de imágenes (como Rafael) no es el problema. El problema, para mí, es encontrar la forma de asegurarnos de que los nodos estén distribuidos de manera agradable, con una cantidad mínima de líneas que se crucen frente a otros nodos o líneas. Algo así como la opción "Diseñar diagrama" en OmniGraffle (estoy seguro de que hay una función similar en Visio).

¿Hay una biblioteca JS que pueda hacer esto por mí, y si no tiene alguna idea de cómo abordar un problema como este? Tenga en cuenta que mis cadenas de markov probablemente sean mucho más complejas que los ejemplos anteriores.

+0

¿cómo resultó el proyecto? –

+0

@MichaelPaulukonis terminé usando graphdracula (ver mi comentario a la respuesta de Femi). Funcionó, pero no tan bien como esperaba. Hubo algunos problemas cuando un nodo apunta a sí mismo, o cuando dos nodos forman un bucle. La ubicación de las probabilidades de transición a veces no estaba clara a qué línea pertenecía. Aún así, no pude encontrar nada mejor, así que me arreglé. – Jeff

+0

¿está su código disponible? Me interesaría arrojar algunas cosas sobre él para ver cómo son las cadenas (sin relación académica). –

Respuesta

3

Puede distinguir bien con una de las bibliotecas de gráficas dirigidas como D3 o una de las directed graph layers on Raphael.

+0

+1 en usar Raphael. 2.0 también está en camino: https://github.com/DmitryBaranovskiy/raphael/tree/2.0 – Hyangelo

+0

¡Gracias! Supongo que ayuda conocer la terminología correcta: el "gráfico dirigido por fuerza" en Google me ayudó a encontrar algunas otras alternativas también, y graphdracula.net parece ajustarse a mis necesidades. thejit.org es otro para aquellos que buscan alternativas. – Jeff

+0

Hehe. Me alegra ayudar a proporcionar el hechizo correcto para insertar en Google. – Femi

2

Estoy usando mxGraph para esto actualmente. No es gratis, pero es un caso en el que obtienes lo que pagas.

Cuestiones relacionadas