Pregunta

¿Qué algoritmos son buenos para dibujar gráficos interactivos / en tiempo real para datos en vivo y manipulación directa?

En su defecto, ¿qué bibliotecas utiliza para dibujar gráficos?

Sugerencias;

  • Prefuse kit de herramientas de visualización de información
  • cualquier otro?

Por cierto, me refiero a los gráficos en el sentido de la teoría de gráficos: puntos y líneas

  • cualquier idioma
  • por live quiero decir que el gráfico debe ser manipulable una vez en la pantalla.
¿Fue útil?

Solución

Recomendaría cualquier biblioteca en la que Jeff Heer haya trabajado:

Creo que los tres proyectos son de código abierto. Jeff Heer es bastante bueno para hacer referencia a documentos en su código, al menos en la biblioteca Prefuse. Mirando la fuente Prefuse:

BalloonTreeLayout : El algoritmo utilizado es el de G. Melan & # 231; on y I. Herman de su trabajo de investigación Circular Drawings of Rooted Trees, Reports of the Center for Mathematics and Computer Sciences, Report Número INS & # 8211; 9817, 1998.

ForceDirectedLayout.java : No se menciona ninguna referencia, pero hay muchos comentarios que describen cómo funciona.

FruchtermanReingoldLayout.java : referencias Jung . En su sitio web encontré un papel que tiene referencias a varios algoritmos

NodeLinkTreeLayout.java : El algoritmo utilizado es el de Christoph Buchheim, Michael J & # 252; nger y Sebastian Leipert de su trabajo de investigación Mejorando el algoritmo de Walker para ejecutarse en tiempo lineal , Graph Drawing 2002. Este algoritmo corrige problemas de rendimiento en el algoritmo de Walker, que generaliza el método de Reingold y Tilford para dibujos ordenados de árboles para soportar árboles con un número arbitrario de hijos en cualquier nodo dado.

RadialTreeLayout.java : El algoritmo utilizado es el de Ka-Ping Yee, Danyel Fisher, Rachna Dhamija y Marti Hearst en su trabajo de investigación Exploración animada de gráficos dinámicos con diseño radial , InfoVis 2001. Este algoritmo calcula un diseño radial que tiene en cuenta una posible variación en los tamaños y mantiene ambas orientaciones y restricciones de pedido para facilitar transiciones suaves y comprensibles entre configuraciones de diseño.

SquarifiedTreeMapLayout : este algoritmo particular está tomado de Bruls, D.M., C. Huizing y J.J. van Wijk, '' Mapas de árboles en escuadra '' En Data Visualization 2000, Proceedings of the Joint Eurographics and IEEE TCVG Sumposium on Visualization , 2000, pp. 33-42. Disponible en línea en http://www.win.tue.nl/~vanwijk/stm .pdf . Para obtener más información sobre TreeMaps en general, consulte http://www.cs.umd.edu / hcil / treemap-history

Otros consejos

el kit de herramientas de visualización prefusa parece un buen candidato.

  

Prefuse admite un rico conjunto de   características para el modelado de datos,   visualización e interacción. Eso   proporciona estructuras de datos optimizadas para   tablas, gráficos y árboles, una gran cantidad de   diseño y técnicas de codificación visual,   y soporte para animación, dinámica   consultas, búsqueda integrada y   conectividad de bases de datos. Prefuse es   escrito en Java, utilizando Java 2D   biblioteca de gráficos, y es fácilmente   integrado en Java Swing   aplicaciones o applets web. Prefundir   tiene licencia bajo los términos de un BSD   licencia, y se puede usar libremente para   tanto comercial como no comercial   propósitos   (desde la página de inicio)

El dibujo gráfico es un campo grande. Aquí hay un enlace a un sitio web de la comunidad de investigación de dibujo gráfico . Tienen una conferencia anual específicamente sobre dibujo gráfico. También puedo sugerir leer algunos de Prof. Publicaciones de David Harel : una de sus áreas de investigación es el dibujo de gráficos, por ejemplo este documento . Esto parece un problema difícil de resolver en el caso general. Tal vez pueda limitar su aplicación a un subconjunto restringido de gráficos (los gráficos planos probablemente sean demasiado restrictivos). Probablemente los gráficos simples con un pequeño conjunto de vértices permiten una manipulación más fácil.

Utilizo el lenguaje Dot para describir gráficos. Y, la salida del compilador Dot incluye SVG, que está en XML y puede integrarse en XHTML.

http://en.wikipedia.org/wiki/DOT_language

No estoy seguro de lo que buscas ...

¿suena como que tal vez está buscando hacer algo similar a rrdtool?

Tal vez hay alguna información en su sitio que ayudará:

http://oss.oetiker.ch/rrdtool/

Soy nuevo en stackflow, lo siento por la respuesta tardía. Dependiendo de qué tan interactivo desee ser ... es posible que no quiera ver Flot (usa JQuery, menos interactivo) o procesamiento ... más interactivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top