我可以使用ggmap
绘制一张英国地图,其中包含以下内容:
library(ggmap)
UK_map <- get_map(location = c(-2.65, 53.7), zoom = 5, maptype = "hybrid")
UK_map <- ggmap(ggmap=UK_map, extent = "device", legend = "right")
UK_map <- UK_map + geom_point(data = data.frame(x = -1.81, y = 55.655), aes(x, y), size = 5)
我可以使用Winston Chang的multiplot
函数在同一窗口中输出两个图:
multiplot <- function(..., plotlist=NULL, cols) {
require(grid)
# Make a list from the ... arguments and plotlist
plots <- c(list(...), plotlist)
numPlots = length(plots)
# Make the panel
plotCols = cols # Number of columns of plots
plotRows = ceiling(numPlots/plotCols) # Number of rows needed, calculated from # of cols
# Set up the page
grid.newpage()
pushViewport(viewport(layout = grid.layout(plotRows, plotCols)))
vplayout <- function(x, y)
viewport(layout.pos.row = x, layout.pos.col = y)
# Make each plot, in the correct location
for (i in 1:numPlots) {
curRow = ceiling(i/plotCols)
curCol = (i-1) %% plotCols + 1
print(plots[[i]], vp = vplayout(curRow, curCol ))
}
}
multiplot(UK_map, UK_map, cols = 2)
但是当使用multiplot
时,地图上方和下方会出现一个大的白色边框,如附图中所示。有没有办法阻止这个白色边框出现?
答案 0 :(得分:0)
我没有使用multiplot
但是方便的grid.arrange
是相似的并且产生类似的输出 - 首先(即大的白色上/下边距)。
您可以更改图片设备的输出高度/宽度,以获得您想要的内容,因为它最初会进入&#34; center&#34;它到所选择的图形设备上:
png("map.png", width=480, height=240)
grid.arrange(UK_map, UK_map, ncol=2)
dev.off()
制作以下(未触动!)地图: