我試圖擺脫在R中使用'maps'包生成的地圖的邊距。通過設置par(mar=c(0,0,0,0))
並在邊框中使用選項border = 0, map()
功能。但與例如與mar=c(0,0,0,0)
散點圖仍然有很多額外的空間。這裏有一些代碼來生成一個示例地圖,以及一個用於比較的常規散點圖。在R中繪製無邊距的地圖
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()
功能,你可以看到,即使有利潤名義上抑制,空間已經預留給軸。
任何想法非常讚賞,這已經讓我煩惱了很多年。
謝謝!有一點讓我很尷尬的是,答案總是出現在「地圖」中,但我比其他任何東西都更放心。 –
@邁克爾:不客氣。不要打擾,很容易錯過顯而易見的事物。我自己曾多次犯過這種罪行;) –
+1我遇到的問題是我沒有設置'border'屬性。 – seand