Mapear territorios con coord_polar
lemuscanovas opened this issue · 2 comments
Hola Elio,
Antes de nada, gracias por el trabajo que haces.
Estoy intentando plotear los paises en un ggplot mapado con coord_polar
, y no veo la forma de hacerlo.
Te adjunto el churro que me ha salido:
Sin embargo, no hay problema si tarbajo con coord_sf
y el objeto borders
en esta clase sf
:
Y el código del plot polar:
borders <- rnaturalearth::ne_countries(returnclass = "sp")
ggplot()+
geom_contour_fill(slp_q90_anomaly,
mapping = aes(longitude,latitude,z = anom_slp),
binwidth = 1)+
geom_polygon(data = borders,aes(long,lat,group = group),color = "black", lwd =1, fill = "transparent")+
guides(fill = guide_colourbar(barwidth = 9, barheight = 0.5))+
facet_grid(index~season) +
scale_fill_divergent(name = "Z anomaly (m)") +
scale_x_continuous(limits = c(-180,180), expand = c(0, 0))+
scale_y_continuous(limits = c(15,90), expand = c(0,0))+
theme_bw() +
theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
text = element_text(size = 10),
strip.background = element_rect(fill = "transparent", color = NA),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
legend.position = "bottom") +
coord_polar()
Gracias de antemano y disculpa las molestias...
Marc
geom_polar() no es lo ideal para esto, pero sirve más o menos bien. El problema es que el centro del círculo (osea, el cero de la coordenada radial) es el mínimo valor del eje y. Lo que significa que el hemisferio sur queda en el centro. SI querés plotear el hemisferio norte tenés que usar -lat en vez de lat.
Gracias por el apunte, Elio.
Saludos!