我正在尝试消除使用R中“maps”包生成的地图的边距。通过设置par(mar = c(0,0,0,0))
并在map()
函数中使用border = 0选项,我可以完成部分工作。但与例如mar = c(0,0,0,0)
的散点图相比,仍有很多额外的空间。下面是一些代码,用于生成示例地图以及常规散点图进行比较。
library(maps)
x <- sample(360, 10)-180
y <- sample(160, 10)-80
x.boundary <- c(-180, 180, 0, 0)
y.boundary <- c(0, 0, -80, 80)
pdf("map.tmp.pdf", width=9, height=4)
par(mar=rep(0,4))
map("world", border=0, ylim=c(-80, 80), fill=TRUE, bg="gray", col="white")
points(x, y, pch=19, col="blue")
points(x.boundary, y.boundary, pch=19, col="red")
# map.axes()
dev.off()
pdf("scatter.tmp.pdf", width=9, height=4)
par(mar=rep(0,4))
plot(x, y, xlim=c(-180, 180), ylim=c(-80, 80), pch=19, col="blue")
points(x.boundary, y.boundary, pch=19, col="red")
dev.off()
如果您取消注释
map.axes()
函数,您会发现即使边距被理论上抑制,空间仍然为轴保留。非常感谢您的任何建议,这已经困扰我很长时间了。
?map
里面,但我感到更加宽慰而不是其他什么。 - Michael Dunnborder
属性。 - seand