Grafica interattiva durante la registrazione dei dati


8

Sto cercando di rappresentare graficamente ed esplorare interattivamente i dati misurati in tempo reale / continuamente. Ci sono alcune opzioni là fuori, con plot.ly che è il più facile da usare. Plot.ly ha un'interfaccia utente fantastica e facile da usare (facilmente scalabile, pannellabile, facilmente zoomabile / adatta allo schermo), ma non è in grado di gestire le grandi serie di dati che sto raccogliendo. Qualcuno sa di eventuali alternative?

Ho MATLAB, ma non ho abbastanza licenze per eseguire contemporaneamente questo e fare lo sviluppo allo stesso tempo. So che LabVIEW sarebbe un'ottima opzione, ma al momento è proibitiva in termini di costi.

Grazie in anticipo!


Non hai menzionato né i tipi di dati raccolti, né l' ordine di grandezza del suo volume . Questa informazione sarebbe utile nel fornire una consulenza più mirata.
Aleksandr Blekh,

Risposte:


7

Per questa risposta, ho assunto che preferisci le soluzioni open source alla visualizzazione di big data . Questa ipotesi si basa sui dettagli di bilancio della tua domanda. Tuttavia, c'è un'esclusione a questo: di seguito aggiungerò un riferimento a un prodotto commerciale, che credo possa essere utile nel tuo caso (a condizione che tu te lo possa permettere). Suppongo anche che le soluzioni basate su browser siano accettabili (le preferirei persino, a meno che tu non abbia specifici requisiti contraddittori).

Naturalmente, il primo candidato come soluzione al tuo problema considererei la libreria JavaScript D3.js : http://d3js.org . Tuttavia, nonostante la flessibilità e altri vantaggi , penso che questa soluzione sia di livello troppo basso .

Pertanto, ti consiglio di dare un'occhiata ai seguenti progetti open source per la visualizzazione di big data , che sono abbastanza potenti e flessibili , ma operano a un livello di astrazione più elevato (alcuni di essi sono basati sulla base D3.js e talvolta sono indicato come stack di visualizzazione D3.js ).

  • Bokeh - Libreria di visualizzazione interattiva basata su Python, che supporta big data e streaming di dati: http://bokeh.pydata.org
  • Flot - Libreria di visualizzazione interattiva basata su JavaScript, focalizzata su jQuery: http://www.flotcharts.org
  • NodeBox - esclusivo sistema di visualizzazione rapida dei dati (non basato su browser, ma multilingue e multipiattaforma), basato sul design generativo e sulla programmazione funzionale visiva: https://www.nodebox.net
  • Elaborazione : sistema di sviluppo software completo con un proprio linguaggio di programmazione, librerie, plug-in, ecc., Orientato al contenuto visivo: https://www.processing.org (consente di eseguire programmi di elaborazione in un browser tramite http: // processingjs. org )
  • Crossfilter - Libreria di visualizzazione interattiva basata su JavaScript per big data di Square (visualizzazione molto rapida di grandi set di dati multivariati): http://square.github.io/crossfilter
  • bigvis - un pacchetto R per l'analisi esplorativa dei big data (non una libreria di visualizzazione in sé, ma potrebbe essere utile per elaborare grandi set di dati / aggregazione, smoothing / prima della visualizzazione, usando varie opzioni grafiche R): https://github.com / Hadley / bigvis
  • prefuso - Libreria di visualizzazione interattiva basata su Java: http://prefuse.org
  • Lumify - piattaforma di integrazione, analisi e visualizzazione di big data (caratteristica interessante: supporta Semantic Web): http://lumify.io

Separatamente, vorrei menzionare due progetti di analisi e visualizzazione di big data open source , incentrati su dati grafico / di rete (con un supporto per lo streaming di dati di quel tipo): Cytoscape e Gephi . Se sei interessato ad altri progetti, progetti e prodotti più specifici ( supporto mappe , ecc.) O commerciali (livelli gratuiti di base), consulta questa fantastica raccolta , che ho accuratamente curato per elaborare l'elenco principale sopra e analizzato : http://blog.profitbricks.com/39-data-visualization-tools-for-big-data .

Infine, come promesso all'inizio, Zoomdata - un prodotto commerciale, che ho pensato che potresti voler dare un'occhiata a: http://www.zoomdata.com . Il motivo per cui l'ho escluso dalla mia compilation di software open source è dovuto al suo supporto integrato per piattaforme di big data . In particolare, Zoomdata fornisce connettori dati per Cloudera Impala, Amazon Redshift, MongoDB, Spark e Hadoop, oltre a motori di ricerca, principali motori di database e dati di streaming.

Disclaimer: non ho alcuna affiliazione con ZoomData di sorta - ero solo colpito dalla loro gamma di opzioni di connettività (che potrebbe costare caro, ma questa è un'altra funzione di analisi di questo argomento).


1
Grazie mille Aleksandr Blekh & Nitesh per la tua comprensione. Esaminerò sicuramente queste opzioni. Una cosa di cui avrei dovuto essere più chiaro è che sto acquisendo dati in tempo reale da un micrometro laser, campionando a circa 60 campioni al secondo. Subito dopo aver fatto questa domanda, ho trovato un software chiamato KST ( kst-plot.kde.org ). Funziona bene tranne per il fatto che non è stabile e non è particolarmente facile estrarre dati più vecchi, ingrandire / ridurre, ecc.
Clayton Pipkin,

@ClaytonPipkin: Prego. Sono felice di aiutare. Non dimenticare di votare entrambe le risposte e di accettare il meglio, se soddisfatto. KST sembra interessante, ma tieni presente che si tratta di un'applicazione, quindi non ha una capacità nativa di visualizzare i dati per il Web.
Aleksandr Blekh,

@AleksandrBlekh Nessuno ha votato la mia risposta :( Ma la tua risposta è molto soddisfacente. Ho intenzione di votarla!
Nitesh,

@Nitesh: grazie per le parole gentili e il voto. Non preoccuparti troppo della tua risposta particolare: non è male, ma piuttosto limitata. Tuttavia, lo voterò per il contenuto e per rallegrarti un po ':-).
Aleksandr Blekh,

1

La visualizzazione di set di dati di grandi dimensioni è un problema di vecchia data. Uno dei problemi è capire come possiamo mostrare oltre un milione di punti su uno schermo che ha solo circa ~ milioni di pixel.

Detto questo, ecco alcuni strumenti in grado di gestire i big data:

  1. Quadro: puoi usare il loro strumento desktop gratuito.
  2. Tabplot: costruito sopra ggplot2 in R per gestire set di dati più grandi.
  3. Guarda questa recensione per altri 5 prodotti che possono aiutarti a fare il tuo lavoro.

0

Se stai usando Python, suggerirei di usare mpld3 che combina visualizzazioni javascript D3js con matplotlib di Python.

L'installazione e l'utilizzo è davvero semplice e ha alcuni plugin interessanti e elementi interattivi.

http://mpld3.github.io/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.