Quiero trazar un mapa del mundo usando ggplot2 (v.9) que combina dos piezas si la información. El siguiente ejemplo ilustra:mapa de ggplot con l
library(rgdal)
library(ggplot2)
library(maptools)
# Data from http://thematicmapping.org/downloads/world_borders.php.
# Direct link: http://thematicmapping.org/downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip
# Unpack and put the files in a dir 'data'
gpclibPermit()
world.map <- readOGR(dsn="data", layer="TM_WORLD_BORDERS_SIMPL-0.3")
world.ggmap <- fortify(world.map, region = "NAME")
n <- length(unique(world.ggmap$id))
df <- data.frame(id = unique(world.ggmap$id),
growth = 4*runif(n),
category = factor(sample(1:5, n, replace=T)))
## noise
df[c(sample(1:100,40)),c("growth", "category")] <- NA
ggplot(df, aes(map_id = id)) +
geom_map(aes(fill = growth, color = category), map =world.ggmap) +
expand_limits(x = world.ggmap$long, y = world.ggmap$lat) +
scale_fill_gradient(low = "red", high = "blue", guide = "colorbar")
Sin embargo, esta solución no es una buena manera de mostrar tanto growth
y category
. Growth
es muy visible, pero category
es casi imposible de ver porque es solo un borde.
He intentado aumentar el tamaño de las fronteras, pero sin suerte (es difícil trabajar con el nuevo geom_map). ¿Alguien sabe cómo aumentar el tamaño del borde en el ejemplo anterior, o aún mejor, un mecanismo para mostrar dos factores?
Una pregunta adicional: nombres de países, como los utilizados por el paquete de mapas (que presenta la URSS!) Son los datos utilizados en el ejemplo es frágil. Prefiero usar ISO 3166-1 alpha-3 (1). ¿Alguien sabe de datos de fácil utilización con ggplot2 que cuenta con nombres ISO -... país (incluido en los datos vinculados)
Resultado:
result http://ompldr.org/vY3hsYQ
lo que es world.map? no está definido en tu código. Si intento fortify (w, region = "NAME"), aparece un error de "carácter multibyte inválido". Por favor proporcione un código reproducible. –
Lo sentimos, se corrigió. Fue w. – Rasmus
Aparece el siguiente error en la línea fortify: "Error en nchar (ID): serie multibyte no válida 1" –