使用ggmap和plotRGB将多个图像一起绘制

我试图显示一张由2张图组成的图片,左侧显示的图是:

plotRGB(myRasterBrick, b=1, g=2, r=3)

在右侧给出了一个情节:

ggmap(Gmap)+geom_polygon(aes(x=x, y=y), data=df, alpha=.4)

这两个图像都可以独立完美地显示,但我无法找到一种方法将它们一起显示,一个左侧,一个右侧。

给你更多的细节,这里是我的完整脚本:

对于我的第一张图片:

#request a satellite image from Google
lat <- 1.266
lon <- 34.348
Gmap <- get_googlemap(center = c(lon = lon, lat = lat), zoom = 18, size = c(640, 640), scale = 2, format="png8",  maptype = c("satellite"))

#draw a square in the middle of the image
bbx <- c(left=lon-0.00005,bottom=lat-0.00005,right=lon+0.00005,top=lat+0.00005)
x <- c(bbx["left"], bbx["left"], bbx["right"], bbx["right"])
y <- c(bbx["bottom"], bbx["top"], bbx["top"], bbx["bottom"])
df <- data.frame(x, y)

#put the image and the square in one plot
a = ggmap(Gmap)+geom_polygon(aes(x=x, y=y), data=df, alpha=.4)

对于我的第二张图片:cr1是由3层(RGB)制成的地理信息图,从互联网上下载。

plotRGB(cr1, b=1, g=2, r=3)

这是我试过的

帕()

par(mfrow=c(1,2))
plot(a)
plotRGB(cr1, b=1, g=2, r=3)
par(mfrow = c(1, 1))

这显示了绘图(a)全屏,然后在半屏幕上显示具有plotRGB(cr1,b = 1,g = 2,r = 3)的另一图像。

grid.arrange()

library('gridExtra')
plot1 <- ggmap(Gmap)+geom_polygon(aes(x=x, y=y), data=df, alpha=.4)
plot2 <- plot(subset(cr1,1))
grid.arrange(plot1, plot2, ncol=2)

其中返回以下错误。 我搜索了它,但找不到合适的解决方案。

gList中的错误(列表(grobs = list(list)(x = 0.5,y = 0.5,width = 1,height = 1,仅在'gList'中允许'grobs'

链接地址: http://www.djcxy.com/p/30883.html

上一篇: plotting multiple images together using ggmap and plotRGB

下一篇: Adding multiple plots at one page grid.arrange function