Gráfico interativo ao registrar dados

8

Estou olhando para o gráfico e explorar interativamente dados medidos ao vivo / continuamente. Existem algumas opções por aí, sendo plot.ly a mais fácil de usar. O Plot.ly possui uma interface do usuário fantástica e fácil de usar (facilmente escalável, configurável, facilmente ajustável / cabível na tela), mas não pode lidar com os grandes conjuntos de dados que estou coletando. Alguém sabe de alguma alternativa?

Eu tenho o MATLAB, mas não tenho licenças suficientes para executar isso simultaneamente e desenvolver ao mesmo tempo. Eu sei que o LabVIEW seria uma ótima opção, mas atualmente é proibitivo de custos.

Desde já, obrigado!

Clayton Pipkin
fonte
Você não mencionou os tipos de dados que coleta, nem a ordem de magnitude do volume . Essas informações seriam úteis para fornecer conselhos mais direcionados.
Aleksandr Blekh

Respostas:

7

Para esta resposta, presumi que você prefere soluções de código aberto à visualização de big data . Essa suposição é baseada nos detalhes orçamentários da sua pergunta. No entanto, há uma exclusão a isso - abaixo, adicionarei uma referência a um produto comercial, que acredito ser benéfico no seu caso (desde que você possa pagar). Também presumo que as soluções baseadas em navegador sejam aceitáveis (eu até as prefiro, a menos que você tenha requisitos contraditórios específicos).

Naturalmente, o primeiro candidato como uma solução para o seu problema, consideraria a biblioteca JavaScript D3.js .: http://d3js.org . No entanto, apesar da flexibilidade e de outros benefícios , acho que essa solução é de nível muito baixo .

Portanto, eu recomendo que você dê uma olhada nos seguintes projetos de código aberto para visualização de big data , que são poderosos e flexíveis o suficiente, mas operam com um nível mais alto de abstração (alguns deles são baseados no D3.js e às vezes são referido como D3.js pilha visualização ).

  • Bokeh - biblioteca de visualização interativa baseada em Python, que suporta big data e streaming de dados: http://bokeh.pydata.org
  • Flot - biblioteca de visualização interativa baseada em JavaScript, focada no jQuery: http://www.flotcharts.org
  • NodeBox - sistema único de visualização rápida de dados (não baseado em navegador, mas em vários idiomas e plataformas), baseado em design generativo e programação funcional visual: https://www.nodebox.net
  • Processing - sistema completo de desenvolvimento de software com sua própria linguagem de programação, bibliotecas, plug-ins, etc., orientado ao conteúdo visual: https://www.processing.org (permite executar programas de Processing em um navegador via http: // processingjs. org )
  • Crossfilter - biblioteca de visualização interativa baseada em JavaScript para big data da Square (visualização muito rápida de grandes conjuntos de dados multivariados): http://square.github.io/crossfilter
  • bigvis - um pacote R para análise exploratória de big data (não uma biblioteca de visualização em si, mas pode ser útil para processar grandes conjuntos de dados / agregação, suavização / antes da visualização, usando várias opções de gráficos R): https://github.com / hadley / bigvis
  • prefuse - biblioteca de visualização interativa baseada em Java: http://prefuse.org
  • Lumify - plataforma de integração, análise e visualização de big data (recurso interessante: suporta Web Semântica): http://lumify.io

Separadamente, gostaria de mencionar dois projetos de análise e visualização de big data de código aberto , focados em dados de gráfico / rede (com algum suporte para streaming de dados desse tipo): Cytoscape e Gephi . Se você estiver interessado em outros projetos e produtos mais específicos ( suporte a mapas , etc.) ou comerciais (camadas gratuitas básicas), veja esta compilação incrível , que eu selecionei cuidadosamente para criar a lista principal acima e analisar : http://blog.profitbricks.com/39-data-visualization-tools-for-big-data .

Por fim, como prometi no início, o Zoomdata - um produto comercial, que achei que você poderia querer dar uma olhada em: http://www.zoomdata.com . A razão pela qual eu o excluí da compilação de software de código aberto é devido ao suporte interno para plataformas de big data . Em particular, o Zoomdata fornece conectores de dados para Cloudera Impala, Amazon Redshift, MongoDB, Spark e Hadoop, além de mecanismos de pesquisa, principais mecanismos de banco de dados e dados de streaming.

Isenção de responsabilidade: não tenho nenhuma afiliação com o Zoomdata - fiquei impressionado com a variedade de opções de conectividade (que podem custar muito caro, mas esse é outro aspecto da análise deste tópico).

Aleksandr Blekh
fonte
1
Muito obrigado Aleksandr Blekh & Nitesh pela sua compreensão. Definitivamente vou analisar essas opções. Uma coisa sobre a qual eu deveria ter sido mais claro é que estou capturando dados ao vivo de um micrômetro a laser, amostrando a cerca de 60 amostras por segundo. Logo após fazer essa pergunta, encontrei um software chamado KST ( kst-plot.kde.org ). Funciona bem, exceto que não é estável e não é particularmente fácil extrair dados mais antigos, aumentar / diminuir o zoom, etc. #
Clayton Pipkin
@ClaytonPipkin: De nada. Fico feliz em ajudar. Não esqueça de votar nas duas respostas e aceitar o melhor, se estiver satisfeito. O KST parece interessante, mas lembre-se de que é um aplicativo, portanto, ele não possui uma capacidade nativa de visualizar dados para a Web.
Aleksandr Blekh
@AleksandrBlekh Ninguém se votou a minha resposta :( Mas sua resposta é muito gratificante vou voto até ele.!
Nitesh
@ Nitesh: Obrigado por palavras amáveis ​​e voto positivo. Não se preocupe muito com sua resposta específica - ela não é ruim, apenas tem escopo limitado. No entanto, votarei pelo conteúdo e animá-lo um pouco :-).
Aleksandr Blekh
1

Visualizar grandes conjuntos de dados é um problema antigo. Uma das questões é entender como podemos mostrar mais de um milhão de pontos em uma tela que possui apenas cerca de ~ milhões de pixels.

Dito isto, aqui estão algumas ferramentas que podem lidar com big data:

  1. Tableau: você pode usar a ferramenta de desktop gratuita.
  2. Tabplot: construído sobre o ggplot2 em R para lidar com conjuntos de dados maiores.
  3. Veja esta análise para outros 5 produtos que podem ajudá-lo a fazer seu trabalho.
Nitesh
fonte
0

Se você estiver usando python, sugiro usar o mpld3, que combina visualizações javascript do D3js com matplotlib do python.

A instalação e o uso são realmente simples e possuem alguns plugins interessantes e materiais interativos.

http://mpld3.github.io/

RAM
fonte