IGN + R + leaflet

Iba a escribir una entrada técnica al respecto, pero resulta que ya la había hecho hace un tiempo y no me acordaba. Solo quiero abundar en el tema para recordaros que si os interesa mostrar mapas de España vía leaflet, en lugar de usar las capas por defecto, que vaya a saber uno de dónde las sacan, uno siempre puede tirar de la cartografía oficial. Uno de los motivos puede ser que el mapa forme parte de una aplicación seria. Y las (o ciertas) capas por defecto de leaflet muestran hasta los puticlús, ...

13 de octubre de 2020 · Carlos J. Gil Bellosta

¡Bien por AIReF!

Años ha, cuando quería mostrar gráficos como tenía que irme al extranjero. Pero hoy he estado hojeando el informe sobre la actualización del programa de estabilidad 2019-2022 de AIReF, he visto cosas como y me he emocionado mucho.

13 de mayo de 2019 · Carlos J. Gil Bellosta

Elecciones, mapas... y mi favorito

De entre lo bueno que pudan haber traído las últimas elecciones generales (las españolas de abril de 2019, para quien requiera mayor precisión) puede contarse una pequeña revolución en la cartografía electoral. Debemos agradecérselo al equipo de Kiko Llaneras en El País, que nos ha regalado esto. Prueba de que las cosas han cambiado es que ha sido replicado en otros sitios, como este. [Nota: no sé si estoy cometiendo injusticias en el párrafo anterior por omisión o confusión en las prelaciones; si alguien dispone de más o mejor información sobre la intrahistoria de esas publicaciones, que me avise.] ...

6 de mayo de 2019 · Carlos J. Gil Bellosta

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

No son los picos, son los rangos

Me reencuentro con tiempo después (fuente). Llaman la atención sobremanera los picos. Que no tienen otra razón de ser que un cambio en los rangos del eje horizontal. Ahora la pregunta, de ejercicio: ¿cómo harías para representar esos datos para evitar esos artefactos (asumiendo escala lineal en el eje horizontal)?

23 de abril de 2018 · Carlos J. Gil Bellosta

Estructura poblacional de España: 2010-2050

Si se puede hacer para Japón, también se puede hacer para España: El código, library(idbr) library(ggplot2) library(animation) library(ggthemes) idb_api_key("pídela en https://www.census.gov/data/developers/data-sets/international-database.html") male <- idb1('SP', 2010:2050, sex = 'male') male$SEX <- "hombres" male$POP <- -male$POP female <- idb1('SP', 2010:2050, sex = 'female') female$SEX <- "mujeres" spain <- rbind(male, female) saveGIF({ for (i in 2010:2050) { title <- as.character(i) year_data <- spain[spain$time == i, ] g1 <- ggplot(year_data, aes(x = AGE, y = POP, fill = SEX, width = 1)) + coord_fixed() + coord_flip() + annotate('text', x = 98, y = -300000, label = 'Datos: US Census Bureau IDB; idbr R package', size = 3) + geom_bar(data = subset(year_data, SEX == "mujeres"), stat = "identity") + geom_bar(data = subset(year_data, SEX == "hombres"), stat = "identity") + scale_y_continuous(breaks = seq(-300000, 300000, 150000), labels = paste0(as.character(c(seq(300, 0, -150), c(150, 300))), "k"), limits = c(min(spain$POP), max(spain$POP))) + theme_economist(base_size = 14) + scale_fill_manual(values = c('#ff9896', '#d62728')) + ggtitle(paste0('Estructura poblacional de España en, ', title)) + ylab('Población') + xlab('Edad') + theme(legend.position = "bottom", legend.title = element_blank()) + guides(fill = guide_legend(reverse = TRUE)) print(g1) } }, movie.name = 'spain_pyramid.gif', interval = 0.1, ani.width = 700, ani.height = 600)

27 de febrero de 2018 · Carlos J. Gil Bellosta

Diagramas de cajas: lo que hay que saber y muchas otras cosas que no hacen tanta falta pero que son entretenidas

Me sorprende averiguar que hay gente que no comprende el concepto de ruta (de ficheros) y la diferencia entre las relativas y las absolutas. Me sorprende igualmente tropezarme con gente a las que los diagramas de caja (boxplots, en bárbaro) no les resulten lo más natural del mundo. ¡Hayla! Pero a veces nos equivocamos y nos da por pensar que siempre han estado ahí (¡no! son bastante recientes) y no se nos ocurre que haya quien pueda estar pensando en mejoras y extensiones. Para acrecentar nuestra culturilla estadística y ver cosas más o menos ocurrentes se están haciendo alrededor de los diagramas de caja, bien se puede leer 40 years of boxplots.

14 de febrero de 2018 · Carlos J. Gil Bellosta

Geofacetas

Con geofacet se puede hacer

28 de septiembre de 2017 · Carlos J. Gil Bellosta

Micromapas

Vienen a ser la versión geo de las sparklines. Por ejemplo, Notas: El gráfico anterior no es mío. El código (y datos) con el que se generó tampoco. Son de Susana Huedo, exalumna. Está basado (todo hay que decirlo) en código de terceros y debería acordarme de cuál de ellos. Pero no es el caso.

7 de julio de 2017 · Carlos J. Gil Bellosta

Cartuchos malbaratados

Me instan a hablar de que procede de aquí y donde se compara el precio de una cerveza en la plaza mayor de las capitales de provincia españolas (a propósito, ¿cuál es la plaza mayor de Zaragoza o Soria?). Dejando el resto (casi todas, de hecho) de las cuestiones de lado, nos centraremos en el gráfico. ¿Qué nos dice la teoría sobre gráficos como este? Primero, que de entre todas las estéticas (usando la nomenclatura propia de ggplot2), las que mejor captura el ojo son x e y. Es decir, las distancias horizontales y verticales. Luego vienen el color, la pendiente, la forma, la transparencia, etc. ...

27 de junio de 2017 · Carlos J. Gil Bellosta