Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:用ggplot2刻面地图_R_Google Maps_Ggplot2_Facet - Fatal编程技术网

R:用ggplot2刻面地图

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

我正在尝试用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: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")