El discreto encanto de las animaciones

Representando datos, una animación es un gráfico en el que unas facetas (en terminología de ggplot2) ocultan el resto, como en extraído de aquí y que representa la evolución del tamaño (superficie) de los coches habituales a lo largo del último siglo. Lo mismo pero evitando el indeseado efecto: El código: library(ggplot2) datos <- structure(list(year = c(1930L, 1950L, 1960L, 1970L, 1980L, 1990L, 2000L, 2010L, 2018L), width = c(1.45, 1.59, 1.54, 1.56, 1.64, 1.67, 1.75, 1.76, 1.78), length = c(3.38, 4.02, 3.96, 3.89, 3.98, 4, 4.18, 4.12, 4.23)), class = "data.frame", row.names = c(NA, -9L)) ggplot(datos, aes(xmin = 0, ymin = 0, xmax = length, ymax = width)) + geom_rect() + coord_fixed() + facet_wrap(~ year) + xlab("longitud (m)") + ylab("anchura (m)") + ggtitle("Evolución de la superficie\ndel coche 'promedio'")

28 de enero de 2019 · Carlos J. Gil Bellosta

Geofacetas

Con geofacet se puede hacer

28 de septiembre de 2017 · Carlos J. Gil Bellosta

Pues sí, puede fabricarse uno para España

Es responde a mi entrada de la semana pasada y se lo debemos a la gentileza de Sergio J. El código, con mínimas modificaciones mías (para automatizar la descarga de los datos) es library(pxR) library(dplyr) library(tidyr) library(ggplot2) #---- Carga y transformacion de datos download.file("http://www.datanalytics.com/uploads/3199.px", "3199.px") pob <- read.px("3199.px", encoding = "latin1") pob <- as.data.frame(pob) pob$Sexo <- NULL pob$Periodo <- as.numeric(as.character(pob$Periodo)) pob <- separate(pob, Provincias, into = c("id_provincia", "provincia"), sep = 3) pob$fecha <- as.Date(paste0(pob$Periodo, "-12-31")) pob <- subset(pob,as.numeric(id_provincia)<=50) #---- Plot bl <- sapply(1:22, function(n) paste(rep(" ",n),collapse="")) pob$provincia.reorder <- factor( pob$provincia, levels = c("Coruña, A","Lugo","Asturias","Cantabria","Bizkaia","Gipuzkoa","Navarra",bl[1:2], "Pontevedra","Ourense","León","Palencia","Burgos","Araba/Álava" ,"Huesca","Lleida","Girona", bl[3:4],"Zamora","Valladolid","Soria","Rioja, La","Zaragoza","Tarragona","Barcelona", bl[5:6],"Salamanca","Ávila","Segovia","Guadalajara","Teruel",bl[7:8], bl[9:10],"Cáceres","Toledo","Madrid","Cuenca","Castellón/Castelló",bl[11],"Balears, Illes", bl[12:13],"Badajoz","Córdoba","Ciudad Real","Albacete", "Valencia/València",bl[14:15], bl[16:17],"Huelva","Sevilla","Jaén","Murcia","Alicante/Alacant",bl[18:19], bl[20:21],"Cádiz","Málaga","Granada","Almería",bl[22],"Palmas, Las","Santa Cruz de Tenerife")) ggplot(pob, aes(x = fecha, y = value)) + geom_line() + facet_wrap(~ provincia.reorder, ncol=9,drop = F, strip.position="bottom") + labs(title = "Evolución de la edad media por provincias en España (1975-2016)", y="Edad Media") + theme_classic() + theme(axis.text.x = element_blank(), strip.background=element_blank(), axis.line=element_blank(), axis.ticks=element_blank()) Se aceptan modificaciones y mejoras, por supuesto. Y si alguien quiere dedicarle el tiempo necesario para crear un paquete en R que lo generalice, creo que será bienvenido por la comunidad.

10 de abril de 2017 · Carlos J. Gil Bellosta

¿Podría fabricarse uno para España?

Me refiero a algo similar a (referencia): Lo ideal sería crear una función compatible con el sistema de facetas de ggplot2 con nombre, p.e., facet_spain que permitiese disponer cualquier tipo de gráfico en una retícula similar. No particularmente difícil, pero sí, seguro, utilísimo. ¿A nadie le tienta el proyecto? [Me encanta el impersonal de “podría fabricarse…”. ¡Es como tan de tirar la piedra y esconder la mano!]

7 de abril de 2017 · Carlos J. Gil Bellosta

Evolución histórica de la deuda del ayuntamiento de Madrid

Una de las cosas de las que me acuerdo de cuando leía es un parrafito de Mi idolatrado hijo Sisí en el que Delibes ponía en la boca no sé si de alguno de sus protagonistas o del narrador en el que se daba cuenta de la anormalidad histórica que supuso el tiempo de la II República: de repente, la gente hacía cosas que nunca había hecho y que nunca había vuelto a hacer: hablar a todas horas y con todo el mundo de política. La política entraba en los círculos de amigos, en la sobremesa de las familias, etc. ...

17 de junio de 2016 · Carlos J. Gil Bellosta

Por si os interesa el tema de la energía, las centrales, las emisiones, etc.

Esta entrada será del interés de a quien le atraigan dos temas bastante independientes entre sí: La energía, las centrales eléctricas, sus emisiones, etc. SPARQL Allá va el código library(SPARQL) library(ggplot2) queryString = "PREFIX a: <http://enipedia.tudelft.nl/wiki/> PREFIX prop: <http://enipedia.tudelft.nl/wiki/Property:> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> select ?plant ?name ?elec_capacity_MW ?lat ?lon ?operator where { ?plant prop:Country a:Spain . #get the name #?plant rdfs:label ?name . ?plant prop:Generation_capacity_electrical_MW ?elec_capacity_MW . #?plant prop:Operator ?operator . ?plant prop:Latitude ?lat . ?plant prop:Longitude ?lon . }" d <- SPARQL(url="http://enipedia.tudelft.nl/sparql", query=queryString, format='csv', extra='&format=text%2Fcsv') ggplot(d$results, aes(x = lon, y = lat, size = elec_capacity_MW)) + geom_point() y lo que genera, que es ...

20 de enero de 2016 · Carlos J. Gil Bellosta

Amanece, me cuentan, que no es poco

El amanecer es una cosa que ocurre a diario, me cuentan, pero que yo apenas he visto. Casi hablo de lo que no sé. Por otra parte, la discusión de los horarios, de si deberíamos tener la hora de Londres y no la de Berlín, me parece puro nominalismo. Unos llaman a la hora a la que se levantan sechs, otros seven, otros huit y yo diez y veinte. Y no pasa nada. ...

14 de octubre de 2014 · Carlos J. Gil Bellosta

Facetas para entender, tal vez, la evolución del paro

La verdad, no sé de dónde los sacan porque la EPA es trimestral. Pero el INE publica datos mensuales de la tasa de desempleo y las cuelga de una de esas URLs que tienen pinta de cambiar con cualquier soplo (es decir, aviso de que en cualquier momento el enlace deja de funcionar). Por ssi acaso, estos son los datos a día de hoy. También aparecen publicados regularmente en prensa. Y los expertos opinan sobre si la cifra es buena y o mala. Pero, ¿buena o mala con respecto a qué? Así que hoy voy a ensayar un marco en el que plantear la pregunta: ...

17 de julio de 2014 · Carlos J. Gil Bellosta

Veinte paquetes de R para científicos de datos

Me llegó recientemente un artículo con una lista de veinte paquetes de R para data scientists. Y no la encuentro afortunada. Voy a agrupar esos veinte paquetes en algunas categorías y añadiré comentarios. La primera de ellas es la de manipulación de datos, tal vez la más amplia, que recoge los siguientes: sqldf, plyr, stringr (para procesar texto), lubridate (para procesar fechas),reshape2 y los paquetes de acceso a bases de datos. ...

12 de marzo de 2014 · Carlos J. Gil Bellosta

Óscar Perpiñán sobre gráficos base vs. lattice vs ggplot2

Óscar Perpiñán es alguien a quien tenéis que conocer necesariamente si os interesan, entre otras cosas, temas como la visualización de datos espaciotemporales. Y tiene un blog muy recomendable. Recientemente me ha dado permiso para reproducir aquí una respuesta suya en un hilo planteado en r-help-es sobre los distintos mecanismos existentes en R para generar gráficos. Lo hago a continuación con mínimos retoques tipográficos: La ventaja esencial de los gráficos grid (lattice y ggplot2) frente a los gráficos base es su mayor flexibilidad para añadir o modificar el contenido. Un gráfico grid es un objeto más en R y, como tal, puede ser manipulado con los métodos que cada paquete define. Existen dos librerías fundamentales en el mundo grid, lattice y ggplot2. ...

29 de noviembre de 2013 · Carlos J. Gil Bellosta