使用grid.arrange从组合的ggmap图中删除边距

时间:2018-03-14 18:36:13

标签: r ggplot2 ggmap gridextra

我正在尝试绘制使用ggmap创建的六张地图的3x2网格。我首先使用plot.margin创建地图时设置所需的边距。此处添加了灰色背景以显示边距。但是,当组合多个地图(此示例中相同地图的副本)时,会创建新的内部边距,使地图间隔超出我想要的范围。

require(ggmap)

map <- get_map(location = c(lon = -116.187, lat = 33.979), color = "color", 
               source = "google", maptype = "satellite", zoom = 6)

testmap <- ggmap(map) + 
    labs(x = NULL, y = NULL) + 
    theme(plot.margin = margin(7.5, 7, 7, 5)) + 
    theme(plot.background = element_rect(fill = "light grey"))

grid.arrange(testmap, testmap, testmap, testmap, testmap, testmap, 
             bottom = "Longitude", left = "Latitude")

Map grid

通过以相同的方式组合六个散点图来测试grid.arrange,确认应该保留预设的边距,这就是我想要的多个贴图。

plot1 <- ggplot(rwr_gps, aes(x = point, y = juldate)) + 
    geom_point() + 
    theme(plot.background = element_rect(fill = "light grey"))

plot1
grid.arrange(plot1, plot1, plot1, plot1, plot1, plot1, 
             bottom = "Longitude", left = "Latitude")

Scatterplot grid

在将图表与grid.arrange组合时是否有进一步操作边距的功能?或者,有没有办法将ggmap图转换为grid.arrange将像普通情节一样对待的另一个对象?或者另一个可以做到这一点的多绘图包?

1 个答案:

答案 0 :(得分:1)

  

有没有办法将ggmap图转换为grid.arrange会像普通图一样对待的另一个对象?

testmap = testmap + coord_cartesian()

enter image description here