仅将地图比例和向北箭头包含在一个ggplot facet中

时间:2018-06-06 02:42:57

标签: r ggplot2 sf

我正在使用istatic软件包绘制地图,我想使用ggsn软件包将地图比例和北向箭头包含在图中。这是问题所在。我想要显示一个包含两个或更多i的图形,但我想将比例和北箭头仅添加到其中一个图形面。

关于如何做到这一点的任何想法?

可重复示例:

ggplot2

enter image description here

如果我们尝试在sf中使用两个变量,问题会变得复杂一些:

facets

enter image description here

2 个答案:

答案 0 :(得分:3)

使用比例尺中的facet.var和facet.lev参数添加到单个构面。使用north2()函数添加单个北向箭头。您可以根据需要调整定位/比例等。 如果你使用带有两个变量的facet_grid,你可以将一个向量传递给facet.var和facet.lev。

 ggp <- ggplot(data = oregon_sf) +
  geom_sf(aes(fill=hispanic.t), color=NA) +
  scale_fill_viridis(option = "inferno", direction=-1) +
  facet_grid(cat~var2) +
  scalebar(data=oregon_sf, dist = 200, st.size=3, height=0.02, dd2km = TRUE, location="bottomright" , model = 'WGS84',
           facet.var = c('cat', 'var2'), facet.lev = c('B', "C"))
north2(ggp = ggp, scale = 0.1, x = 0.05, y = 0.3, symbol = 4)

enter image description here

答案 1 :(得分:0)

如果你还没有发现它,ggspatial 包在这里有一个解决方案。 https://github.com/paleolimbot/ggspatial/issues/25