R: atualiza um gráfico dinamicamente [fechado]

9

Esta é uma questão de visualização de dados. Eu tenho um banco de dados que contém alguns dados que são constantemente revisados ​​(atualização online). Qual é a melhor maneira no R de atualizar um gráfico a cada 5 ou 10 segundos. (sem traçar novamente tudo é possível)?

vermelho

RockScience
fonte

Respostas:

7

Supondo que você queira atualizar R windows()ou x11()gráfico, você pode usar funções como points()e lines()para adicionar novos pontos ou estender linhas em um gráfico sem redesenhar; no entanto, observe que isso não altera o alcance dos eixos para acomodar pontos que podem ficar fora de vista. Em geral, geralmente é uma boa idéia tornar a plotagem instantânea - por exemplo, movendo o esforço computacional para fazer uma representação intermediária reduzida que pode ser plotada rapidamente, como um mapa de densidade em vez de um grande número de pontos ou reduzindo a resolução dos gráficos de linha ( isso pode ser complexo).

Para manter a sessão R por um determinado período sem espera ocupada, use Sys.sleep().


fonte
Sys.sleep()xy
xy
11
@mpiktas Ou apenas inicie o enredo com uma única chamada para plot(), possivelmente com, 0,0,type="n"se ainda não houver nada para plotar ainda ... Na verdade, isso é muito mais fácil do que ding plot.new()e adicionar todas as coisas como machados ou etiquetas à mão.
Na verdade, isso parece o mais simples ... mas é uma pena que os eixos não sejam atualizados. Como quero atualizar on-line uma série temporal, e sei a que velocidade o eixo x se move, acho que posso substituir tudo a cada n atualizações.
RockScience
8

Para visualização offline, você pode gerar arquivos PNG e convertê-los em um GIF animado usando o ImageMagick . Usei-o para demonstração (porém, redesenhamos todos os dados):

source(url("http://aliquote.org/pub/spin_plot.R"))
dd <- replicate(3, rnorm(100))
spin.plot(dd)

Isso gera vários arquivos PNG, prefixados com fig. Então, em um shell un * x,

convert -delay 20 -loop 0 fig*.png sequence.gif

dá essa animação (inspirada nos Métodos Bioestatísticos Aplicados Modernos usando S-Plus , S. Selvin, 1998):

texto alternativo

Outra opção que parece muito mais promissora é contar com o pacote de animação . Há um exemplo com uma regressão automática de janela em movimento que deve permitir que você inicie.

chl
fonte