Gráficos interactivos al registrar datos

8

Estoy buscando graficar y explorar interactivamente datos en vivo / medidos continuamente. Existen bastantes opciones, y plot.ly es la más fácil de usar. Plot.ly tiene una interfaz de usuario fantástica y fácil de usar (fácilmente escalable, panoramizable, fácilmente ampliable / ajustable a la pantalla), pero no puede manejar los grandes conjuntos de datos que estoy recopilando. ¿Alguien sabe de alguna alternativa?

Tengo MATLAB, pero no tengo suficientes licencias para ejecutar esto simultáneamente y hacer desarrollo al mismo tiempo. Sé que LabVIEW sería una gran opción, pero actualmente tiene un costo prohibitivo.

¡Gracias por adelantado!

Clayton Pipkin
fuente
No ha mencionado ni los tipos de datos que recopila ni el orden de magnitud de su volumen . Esta información sería útil para proporcionar un asesoramiento más específico.
Aleksandr Blekh

Respuestas:

7

Para esta respuesta, he asumido que prefiere soluciones de código abierto a la visualización de big data . Esta suposición se basa en los detalles presupuestarios de su pregunta. Sin embargo, hay una exclusión de esto: a continuación agregaré una referencia a un producto comercial, que creo que podría ser beneficioso en su caso (siempre que pueda pagarlo). También supongo que las soluciones basadas en navegador son aceptables (incluso las preferiría, a menos que tenga requisitos contradictorios específicos).

Naturalmente, el primer candidato como solución a su problema consideraría la biblioteca JavaScript D3.js : http://d3js.org . Sin embargo, a pesar de la flexibilidad y otros beneficios , creo que esta solución es de muy bajo nivel .

Por lo tanto, le recomendaría que eche un vistazo a los siguientes proyectos de código abierto para la visualización de big data , que son lo suficientemente potentes y flexibles , pero funcionan a un nivel más alto de abstracción (algunos de ellos se basan en la base D3.js y a veces son denominado pila de visualización D3.js ).

  • Bokeh : biblioteca de visualización interactiva basada en Python, que admite big data y transmisión de datos: http://bokeh.pydata.org
  • Flot : biblioteca de visualización interactiva basada en JavaScript, centrada en jQuery: http://www.flotcharts.org
  • NodeBox : sistema único de visualización rápida de datos (no basado en navegador, sino en varios idiomas y multiplataforma), basado en diseño generativo y programación funcional visual: https://www.nodebox.net
  • Procesamiento : sistema completo de desarrollo de software con su propio lenguaje de programación, bibliotecas, complementos, etc., orientado al contenido visual: https://www.processing.org (permite ejecutar programas de procesamiento en un navegador a través de http: // processingjs. org )
  • Crossfilter : biblioteca de visualización interactiva basada en JavaScript para Big Data por Square (visualización muy rápida de grandes conjuntos de datos multivariados): http://square.github.io/crossfilter
  • bigvis : un paquete R para análisis exploratorio de big data (no es una biblioteca de visualización per se, pero podría ser útil para procesar grandes conjuntos de datos / agregación, suavizado / antes de la visualización, usando varias opciones de gráficos R): https://github.com / hadley / bigvis
  • prefuse - Biblioteca de visualización interactiva basada en Java: http://prefuse.org
  • Lumify : plataforma de integración, análisis y visualización de big data (característica interesante: admite Web semántica): http://lumify.io

Por separado, me gustaría mencionar dos proyectos de análisis y visualización de big data de código abierto , centrados en datos de gráficos / redes (con algún soporte para la transmisión de datos de ese tipo): Cytoscape y Gephi . Si está interesado en alguna otra, más específica ( los mapas de apoyo, etc.) o comerciales (niveles básicos gratuitos), proyectos y productos, por favor ver esta compilación impresionante , que disfruté comisarié para llegar a la lista principal arriba y analizado : http://blog.profitbricks.com/39-data-visualization-tools-for-big-data .

Finalmente, como prometí al principio, Zoomdata , un producto comercial, que pensé que querrías visitar : http://www.zoomdata.com . La razón por la que lo excluí de mi compilación de software de código abierto se debe a su soporte integrado para plataformas de big data . En particular, Zoomdata proporciona conectores de datos para Cloudera Impala, Amazon Redshift, MongoDB, Spark y Hadoop, además de motores de búsqueda, motores de bases de datos principales y transmisión de datos.

Descargo de responsabilidad: no estoy afiliado a Zoomdata en absoluto; me impresionó su gama de opciones de conectividad (que puede costarle mucho, pero ese es otro aspecto del análisis de este tema).

Aleksandr Blekh
fuente
1
Muchas gracias Aleksandr Blekh & Nitesh por su perspicacia. Definitivamente analizaré estas opciones. Una cosa sobre la que debería haber sido más claro es que estoy capturando datos en vivo desde un micrómetro láser, muestreando a aproximadamente 60 muestras por segundo. Justo después de hacer esta pregunta, encontré un software llamado KST ( kst-plot.kde.org ). Funciona bien, excepto que no es estable y no es particularmente fácil extraer datos antiguos, acercar / alejar, etc.
Clayton Pipkin
@ClaytonPipkin: De nada. Me alegra poder ayudar. No se olvide de votar ambas respuestas y aceptar lo mejor, si está satisfecho. KST parece interesante, pero tenga en cuenta que es una aplicación, por lo tanto, no tiene una capacidad nativa para visualizar datos para la Web.
Aleksandr Blekh
@AleksandrBlekh Nadie votó mi respuesta :( Pero tu respuesta es muy satisfactoria. ¡Voy a votarla!
Nitesh
@Nitesh: Gracias por sus amables palabras y su voto. No se preocupe demasiado por su respuesta particular: no está mal, solo tiene un alcance limitado. Sin embargo, lo votaré por el contenido y te animaré un poco :-).
Aleksandr Blekh
1

Visualizar grandes conjuntos de datos es un problema de larga data. Uno de los problemas es comprender cómo podemos mostrar más de un millón de puntos en una pantalla que solo tiene alrededor de ~ millones de píxeles.

Dicho esto, aquí hay algunas herramientas que pueden manejar grandes datos:

  1. Tableau: puede usar su herramienta de escritorio gratuita.
  2. Tabplot: construido sobre ggplot2 en R para manejar conjuntos de datos más grandes.
  3. Vea esta revisión para otros 5 productos que pueden ayudarlo a hacer su trabajo.
Nitesh
fuente
0

Si está utilizando python, sugeriría usar mpld3 que combina las visualizaciones de JavaScript D3js con matplotlib de python.

La instalación y el uso es realmente simple y tiene algunos complementos geniales y cosas interactivas.

http://mpld3.github.io/

RAM
fuente