R:用ggplot2刻面地图
我正在尝试用ggplot2刻面地图,因为它比tmap包快。可悲的是,我得到的地图不是我想要的R:用ggplot2刻面地图,r,google-maps,ggplot2,facet,R,Google Maps,Ggplot2,Facet,我正在尝试用ggplot2刻面地图,因为它比tmap包快。可悲的是,我得到的地图不是我想要的 library(ggplot2) library(raster) library(ggspatial) chile <- getData("GADM",country="Chile",level=1) chile2= chile[c(2,4:5,7,8,12:16),] chile2$grupo=1 chile3= chile[c(1,3,6,9:1
library(ggplot2)
library(raster)
library(ggspatial)
chile <- getData("GADM",country="Chile",level=1)
chile2= chile[c(2,4:5,7,8,12:16),]
chile2$grupo=1
chile3= chile[c(1,3,6,9:11),]
chile3$grupo=2
mapa=rbind(chile2, chile3)
ggplot() +
layer_spatial(mapa) +
lims(x = c( -77.1,-65), y = c(-57, -15))+
facet_wrap(~grupo)
库(ggplot2)
图书馆(光栅)
图书馆(GGS)
智利这是可以做到的,尽管我不确定这是否真的值得努力
这里有两个问题:
通常,通过设置scales=“free”
,可以在facet\u wrap
的每个方面获得不同的比例(本例中为纬度/经度),但是layer\u spatial
仅适用于coord\u sf
坐标系,并且coord\u sf
硬编码为仅适用于固定比例(GGGH页面上有一个关于这是如何发生的)
不管怎样,设置lims()
明显地违背了自由缩放的目的
对于第一个问题,我们可以违背软件包开发人员定义一个可接受自由缩放的坐标系的替代版本的意图(我不是说应该这样做,但可以这样做。警告买主。)
现在,使用mapa
多边形子集(位于所需限制范围内)进行绘图,将镶嵌面比例设置为“自由”&coord_sf
指向允许其进行以下操作的修改版本:
ggplot() +
layer_spatial(mapa[keep, ]) +
facet_wrap(~grupo, scales = "free")
但就我个人而言,我可能只是制作单独的绘图并将它们缝合在一起,就像中演示的cowplot
方法一样。这是可以做到的,但我不确定这是否真的值得
这里有两个问题:
通常,通过设置scales=“free”
,可以在facet\u wrap
的每个方面获得不同的比例(本例中为纬度/经度),但是layer\u spatial
仅适用于coord\u sf
坐标系,并且coord\u sf
硬编码为仅适用于固定比例(GGGH页面上有一个关于这是如何发生的)
不管怎样,设置lims()
明显地违背了自由缩放的目的
对于第一个问题,我们可以违背软件包开发人员定义一个可接受自由缩放的坐标系的替代版本的意图(我不是说应该这样做,但可以这样做。警告买主。)
现在,使用mapa
多边形子集(位于所需限制范围内)进行绘图,将镶嵌面比例设置为“自由”&coord_sf
指向允许其进行以下操作的修改版本:
ggplot() +
layer_spatial(mapa[keep, ]) +
facet_wrap(~grupo, scales = "free")
但就我个人而言,我可能只会制作单独的绘图并将它们缝合在一起,就像中演示的cowplot
方法。我同意你的观点,结果不会补偿努力,谢谢我同意你的观点,结果不会补偿努力,谢谢
ggplot() +
layer_spatial(mapa[keep, ]) +
facet_wrap(~grupo, scales = "free")