Eu tenho alguns dados de séries temporais que quero visualizar como plot 2d.
A entrada é formato e data ISO separados por espaço, um registro por linha:
2010-10-21 23
2010-10-22 32
etc.
A saída deve ser uma bela plotagem 2D. Requisitos básicos:
- saída para uma janela X11 (como visualização) e para um arquivo png
- o eixo x precisa entender as datas e dimensionar naturalmente os dados; por exemplo, um intervalo entre 3 dias deve ser três vezes maior que um intervalo entre 1 dia
- deve ser chamado de um script
- saída agradável e fácil de usar
Bônus:
- saída svg
Eu tentei gnuplot
e funciona - ele tem algum suporte de data:
gnuplot> set xdata time
gnuplot> set timefmt "%Y-%m-%d"
gnuplot> plot "test.dat" using 1:2
Mas eu tenho alguns problemas com o gnuplot:
- com configurações padrão, os gráficos parecem muito feios
- é difícil encontrar coisas no manual - por exemplo, ao plotar pontos, como uso pequenos círculos preenchidos em vez do sinal '+' padrão?
- o shell gnuplot é uma dor de cabeça - ele não usa linha de leitura, está quebrado, a conclusão do comando é uma piada, não sei como ativar os atalhos do vi - ou, se eles são suportados, o que acontece com a pesquisa reversa etc.
Assim, minha pergunta: quais são as alternativas para visualizar dados de séries temporais?
Ou estou exagerando os problemas do gnuplot?
software-rec
maxschlepzig
fonte
fonte
rrdtool create ...
uma vez para configurar o RRD db,rrdtool update ...
uma vez por parte dos dados errdtool graph ...
para gerar um gráfico.R é melhor nesse tipo de coisa que o Gnuplot porque:
É um ambiente de programação completo, com APIs de extensão compatíveis com C e Fortran . Se o seu computador pode fazer algo, você pode fazê-lo com R.
Muitos já contribuíram com suas soluções para problemas comuns para a CRAN : Rede Compreensiva de Arquivamentos R. Você pode achar os pacotes
zoo
eggplot2
úteis para esta tarefa.Existem muitos livros sobre análise de séries temporais e R em geral .
R tem tudo o que você pediu:
Saídas para X11, PNG ou (com um complemento ) SVG
Círculos preenchidos para pontos de plotagem: passe
pch=19
oupch=20
para o par () ou pontos () . Existem muitos outros símbolos de pontos de plotagem predefinidos, além de todo o Unicode, se você estiver usando uma fonte com suporte a Unicode.Gráficos com reconhecimento de tempo: se os integrados não tiverem a escala desejada, você poderá criar o que precisar com as primitivas de plotagem de R
Chamadas a partir de um script: use uma
#!/usr/bin/Rscript
linha shebang no seu arquivo de programa RAgradável e conveniente: Existem front-ends da GUI, se você gosta e se não gosta, o ambiente padrão orientado a comandos possui muitos recursos interessantes, como a capacidade de ver o código-fonte R de muitas operações internas, o que ajuda para aprender como o sistema é montado. (Sim, grande parte de R está escrita em R!)
Tramas bonitas: Antialiasing é o padrão se o R for construído no Cairo, o que acontecerá se for uma compilação recente no Linux. As versões antigas do R podem não ter o AA embutido. Para ter uma idéia da capacidade do R, se você dedicar algum tempo, verifique isso:
(Clique na imagem para ver o artigo que a descreve.)
Com relação à linha de comando do gnuplot, você pode construí-lo para suportar a linha de leitura GNU, o BSD libedit ou, como alternativa, um esquema de edição de linha de comando embutido personalizado. (Isso de acordo com a p.20 do manual .) Eu tenho o gnuplot 3.7 em uma máquina e 4.0 em outra, e ambos são construídos com readline. Seu binário é construído sem nada disso?
fonte