Vamos a ofrecer nuestros primeros pasos usando el paquete. Simplemente animaremos la evolución de la tasa de inflación en Venezuela, calculada a partir del Indice de Precios al Consumidor, desde 1831 hasta 2014.
Obtención de la data
La data para nuestra gráfica la obtuvimos de la página web del economista José Huerta . Nos quedamos sólo con los valores relacionados con el IPC. Los datos están hasta 2013. Tomamos la cifra de la inflación del 2014 ofrecida por el Banco Central. Finalmente subimos la información a la consola de R.Primera animación
Empezamos con una idea simple:
plot(x, y, main="Venezuela. Inflacion 1831-2013", type='n', xlim=c(1831, 2013), xlabs='Años', ylabs='tasa')
abline(h=c(0, 30), col=c('red', 'darkred')
# crear una serie de imagenes en png para obtener posteriormente la película.
# este es el codigo basico al que haremos modificaciones posteriores en algunas lineas
x = head(inflacion$anio)
y = head(inflacion$tasa)
n = length(x)
for(i in 1:n){
frame = 100 + i
filename <- paste("prueba", frame, ".png", sep="")
png(file=filename, width=550, height=550)
plot(x, y, xlim=c(1831,1836), type='n')
points(x[i], y[i])
dev.off()
}
im.convert("prueba*.png", output = "p.gif")
El resultado:
El gráfico no es satisfactorio. Sólo me incluye un sólo punto. Me interesa que los valores se mantengan para poder tener un patrón claro de la tendencia en el comportamiento de la inflación, en estos casi 200 años. Ello implica modificar la x[i] e y[i]. Aquí estoy pidiendo que se visualice cada valor, uno a uno. Pero no estoy pidiendo que se mantengan los anteriores. Esto lo puedo remediar de la siguiente forma:
points(x[1:i], y[1:i])
Introduciendo esta modificación al código anterior obtenemos:
El resultado nos gusta más. Sin embargo, sería bueno incluir una suerte de contardor que nos muestre cada año en la medida en que los valores se muestran en el gráfico. Esto lo podemos lograr incluyendo la función title(), después de establecer los puntos (debemos entonces eliminar el título principal en el gráfico base). Podemos eliminar también el eje x:
title(main=as.character(i+1830))
Hemos querido colocar en el subtítulo los valores de la tasa año a año. el procedimiento es similar que para el caso del título principal. No obstante, no parece buena idea. Intentemos mejor llevar al título principal ambos valores:
title(main=paste(as.character(i+1830),":", y[i]),
cex.main = 3, col.main="darkred")
A esta animación le podemos agregar algunas cosas: por ejemplo controles para pausarla o para detenerla. Podemos agregar información sobre los presidentes en los diferentes periodos e incluso podemos enfatizar algunos eventos cercanos a periodos de inflación negativa, o los momentos en los que la inflación, en forma sostenida pasó algunos valores. Finalmente, esos distintos hitos podrían señalarse coloreando los puntos de diversas formas.
Hemos usado un formato gif, pero el paquete animation nos permite generar otros formatos: html, swift, y películas
No hay comentarios.:
Publicar un comentario