2010-03-11 19 views
6

Estoy buscando escribir un programa que muestre un gráfico para el usuario. El gráfico cambiará con el tiempo (el usuario debería poder hacer clic con el botón derecho en un elemento del gráfico y solicitar más detalles, lo que hará que aparezcan nuevos bits del gráfico), y el usuario podría arrastrar partes del gráfico . Idealmente, también me gustaría poder especificar el diseño relativo de ciertas partes del gráfico, al mismo tiempo que dejo el diseño general en una biblioteca, pero eso no es esencial.¿Graphviz o Dynagraph para el programa de manipulación de gráficos?

Estoy tratando de decidir sobre una biblioteca de diseño de gráfico para usar. Por lo que puedo decir, los dos candidatos principales son Graphviz y Dynagraph. El sitio web de Dynagraph sugiere que Graphviz es para dibujar gráficos estáticos, y que Dynagraph se bifurcó de Graphviz y contiene algoritmos para gráficos que se actualizarán. Tiene un programa de muestra llamado Dynasty que hace exactamente lo que quiero. Sin embargo, el sitio Graphviz contiene un programa de ejemplo llamado Lefty que parece hacer exactamente lo que quiero. Graphviz también parece ser mucho más utilizado, a juzgar por los resultados de Google (y SO).

Finalmente, me gustaría codificar la parte de la GUI en un lenguaje como Python o Scheme, lo que me hace dudar un poco en usar C++ porque entiendo que es más difícil interactuar con intérpretes.

Así que mi pregunta es, ¿qué biblioteca es mejor para lo que estoy tratando de hacer? ¿Ambos tienen puntos fuertes y débiles? ¿Alguno de ellos ha dejado de desarrollarse y está abandonando su sitio web para confundirme?

(he visto Simple Dynamic Graph Display for C++ y Open source libraries to design directed graphs, pero no puedo decir si están en lo cierto acerca de la elección Graphviz o Dynagraph debido zurdo y también el problema de la lengua.)

+0

Probablemente esta no sea la respuesta que está buscando, pero ¿ha considerado escribir una aplicación web en su lugar? Hay una gran cantidad de soluciones basadas en Javascript y svg. En particular, google tiene algunas buenas API: http://code.google.com/apis/ajax/playground/?type=visualization#motion_chart_time_formats – drozzy

+0

No sabía nada de eso. Lo investigaré, ¡gracias! –

Respuesta

Cuestiones relacionadas