Tengo algunos datos de series de tiempo que quiero visualizar como trama 2d.
La entrada tiene formato de fecha ISO y el valor está separado por espacio, un registro por línea:
2010-10-21 23
2010-10-22 32
etc.
La salida debe ser una buena gráfica en 2D. Requerimientos básicos:
- salida a una ventana X11 (como vista previa) y a un archivo png
- el eje x debe comprender las fechas y escalar los datos de forma natural, por ejemplo, un espacio entre 3 días debe ser tres veces más largo que un espacio entre 1 día
- debe ser invocable desde un script
- buen resultado y conveniente de usar
Prima:
- salida de svg
Lo intenté gnuplot
y funciona, tiene cierto soporte de fecha:
gnuplot> set xdata time
gnuplot> set timefmt "%Y-%m-%d"
gnuplot> plot "test.dat" using 1:2
Pero tengo algunos problemas con gnuplot:
- con la configuración predeterminada, las parcelas se ven muy feas
- es difícil encontrar cosas en el manual; por ejemplo, al trazar puntos, ¿cómo uso pequeños círculos rellenos en lugar del signo predeterminado '+'?
- el shell gnuplot es un dolor en el cuello: no usa readline, está roto, la finalización del comando es una broma, no sé cómo habilitar los atajos vi, o si son compatibles, ¿qué pasa con la búsqueda inversa, etc.
De ahí mi pregunta: ¿Cuáles son las alternativas para visualizar datos de series temporales?
¿O estoy exagerando los problemas de gnuplot?
software-rec
maxschlepzig
fuente
fuente
rrdtool create ...
una vez para configurar el RRD db,rrdtool update ...
una vez por pieza de datos yrrdtool graph ...
generar un gráfico.R es mejor en este tipo de cosas que Gnuplot porque:
Es un entorno de programación completo, con API de extensión compatibles con C y Fortran . Si su computadora puede hacer algo, puede hacerlo con R.
Muchos ya han aportado sus soluciones a problemas comunes a la CRAN : Red global de archivos R. Puede encontrar los paquetes
zoo
yggplot2
útiles para esta tarea.Hay muchos libros sobre análisis de series temporales y R en general .
R tiene todo lo que pediste:
Salidas a X11, PNG o (con un complemento ) SVG
Los círculos negros para puntos de la trama: pase
pch=19
opch=20
de par () o puntos () . Hay muchos otros símbolos de puntos de trazado predefinidos, además de todos Unicode si está utilizando una fuente con soporte Unicode.Gráficos conscientes del tiempo: si los integrados no tienen la escala que desea, puede construir cualquier cosa que necesite con las primitivas de trazado de R
Se puede llamar desde un script: use una
#!/usr/bin/Rscript
línea shebang en su archivo de programa RAgradable y conveniente: hay interfaces gráficas de usuario, si lo desea, y si no le gusta, el entorno predeterminado basado en comandos tiene muchas características interesantes, como la capacidad de ver el código fuente R de muchas operaciones integradas, lo que ayuda para aprender cómo se arma el sistema. (Sí, ¡gran parte de R está escrito en R!)
Parcelas bonitas: Antialiasing es el valor predeterminado si R se compila contra Cairo, lo que será si se trata de una compilación reciente en Linux. Las versiones antiguas de R pueden no tener AA incorporado. Para tener una idea de la capacidad de R si le dedica un poco de tiempo, consulte esto:
(Haga clic en la imagen para ver el artículo que lo describe).
Con respecto a la línea de comandos de gnuplot, puede compilarla para que sea compatible con la línea de lectura de GNU, BSD libedit o, como alternativa, un esquema de edición de línea de comandos incorporado personalizado. (Esto de acuerdo con la p.20 del manual .) Tengo gnuplot 3.7 en una máquina y 4.0 en otra, y ambos están construidos con readline. ¿Se construye su binario sin ninguno de estos?
fuente