Pregunta

En un proyecto Java reciente, necesitábamos una utilidad gratuita de trazado de datos en tiempo real basada en Java.Después de mucho buscar, encontramos esta herramienta llamada Kit de herramientas de gráficos científicos o SGT de la NOAA.Parecía bastante robusto, pero descubrimos que no era muy configurable.O al menos no lo suficientemente configurable para satisfacer nuestras necesidades.Terminamos profundizando en el código Java, aplicando ingeniería inversa al código y cambiándolo por completo para que la herramienta de trazado se viera y actuara como queríamos que se viera y actuara.Por supuesto, esto acabó con cualquier posibilidad de futuras actualizaciones de la NOAA.

Entonces, ¿qué herramientas o bibliotecas de trazado de datos basadas en Java, gratuitas o económicas, utiliza?

Hacer un seguimiento:Gracias por la JFreeChart sugerencias.Revisé su sitio web y parece una muy buena utilidad para trazar y trazar datos.Debería haber dejado claro en mi pregunta original que buscaba específicamente trazar datos en tiempo real.Corregí mi pregunta anterior para aclarar ese punto.Parece que Sin embargo, el soporte de JFreeChart para datos en vivo es, en el mejor de los casos, marginal.¿Alguna otra sugerencia por ahí?

¿Fue útil?

Solución

He tenido éxito usando JFreeChart en múltiples proyectos.Es muy configurable.JFreeChart es de código abierto, pero cobran por el guía para desarrolladores.Si está haciendo algo simple, el código de muestra probablemente sea lo suficientemente bueno.De lo contrario, $50 por la guía para desarrolladores es una ganga bastante buena.

Con respecto a los datos "en tiempo real", también he usado JFreeChart para este tipo de aplicaciones.Desafortunadamente, tuve que crear algunos modelos de datos personalizados con mecanismos de sincronización adecuados para evitar condiciones de carrera.Sin embargo, no fue muy difícil y JFreeChart seguiría siendo mi primera opción.Sin embargo, como sugieren las preguntas frecuentes, es posible que JFreeChart no le brinde el mejor rendimiento si eso es una gran preocupación.

Otros consejos

Acabo de encontrarme con un problema similar (mostrar datos que se actualizan rápidamente con fines de ingeniería) y estoy usando JChart2D.Es bastante minimalista y tiene algunas peculiaridades pero parece bastante rápido:Estoy ejecutando una prueba de velocidad de referencia en la que se agregan 2331 puntos por segundo (trazas de 333x7) a un gráfico de franjas y se utiliza el 1 % de la CPU en mi Pentium 4 de 3 GHz.

Gráfico en vivo admite renderizado en tiempo real.

Estoy usando GRAL para trazado en tiempo real.Es una biblioteca LGPL Java.Aunque no es tan poderoso como JFreeChart, tiene una API mejor.Puse en marcha una trama en muy poco tiempo.También incluyen un ejemplo de trazado en tiempo real.

Encontré esta pregunta cuando buscaba en Google bibliotecas de trazado de código abierto para Java.No estaba muy satisfecho con las respuestas publicadas aquí, así que investigué un poco más sobre el tema.Aunque esta pregunta se publicó en 2008, aún podría resultar interesante para alguien.

Aquí hay una lista de Herramientas de generación de informes y gráficos de código abierto en Java

http://autoplot.org/ permite actualizaciones en tiempo real y se puede utilizar para crear muchos tipos de gráficos científicos.

Para actualizar el gráfico, especifique la URL de un archivo de datos y luego agregue &filePollUpdates=1&tail=100.Vea el ejemplo en http://autoplot.org/cookbook#Loading_Data

Waterloo Scientific Graphics es un nuevo proyecto LGPL.Los objetos de datos son observables y podrían actualizarse en un escenario de trazado en tiempo real.Para más detalles ver http://waterloo.sourceforge.net/

Algunas capturas de pantalla:

http://waterloo.sourceforge.net/images/AnatomyZ.png

http://waterloo.sourceforge.net/images/contour.png

http://waterloo.sourceforge.net/images/errorbar.png

Trama4j ¡También admite trazado en tiempo real!

Yo usé JFreeChart (http://www.jfree.org/jfreechart/) en un proyecto anterior.Tiene algunas capacidades integradas muy buenas y el diseño era MUY extensible, por lo que siempre podía implementar su propia extensión más tarde si necesitaba alguna anotación de gráfico personalizada o quería que un eje se representara de manera diferente, o lo que sea.Definitivamente vale la pena echarle un vistazo.

Compruebe ILOG Vistas J - Tienen muchas cosas y algo podría satisfacer tus necesidades.Todos ellos son extremadamente configurables y bastante rápidos.Aunque no es gratis.

he usado JFreeChart en una aplicación bastante compleja que necesitaba visualizar flujos de datos y cálculos basados ​​en los datos.Implementamos la capacidad de editar visualmente los gráficos de datos con el mouse y teníamos un conjunto muy grande de puntos de datos.JFreeChart lo manejó muy bien.

Desafortunadamente, me quedé atrapado con la versión 0.7, pero la versión más reciente es mucho mejor en lo que respecta a la claridad de la API.La comunidad es muy útil y los desarrolladores también responden a los correos electrónicos.

Si está creando una aplicación web y no quiere molestarse con las bibliotecas, puede consultar la API de gráficos de Google.Yo no lo usé, pero comencé algunas pruebas que fueron muy prometedoras.

Para el trazado en tiempo real, puede utilizar QN Plot, JOpenChart o su bifurcación Openchart2.

JHandles es un paquete de gráficos alternativo para Octave (un paquete matemático).Probablemente valga la pena investigarlo, pero ser específico de Octave puede no tener lo que necesita.

-Adán

PtTrazadopuede ser una buena elección.Antiguamente llamado Ptolomeo.

jcckit puede manejar el trazado en tiempo real.Aunque es un oso usarlo.

Lo bifurqué e hice un envoltorio muy simple a su alrededor para el trazado no en tiempo real.La complicada interfaz subyacente también se puede utilizar directamente.

https://bitbucket.org/hughperkins/easyjcckit

Quizás quieras consultar JMathPlot

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