2011-03-02 10 views
7

Rの 'maps'パッケージを使って生成されたマップの余白を取り除こうとしています。そこにはpar(mar=c(0,0,0,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()機能のコメントを解除した場合、あなたも、概念的抑制余白で、スペースが軸のために予約されていることがわかります。

これまでのアイデアは非常に高く評価されています。

答えて

9

マップ機能では、marは再びリセットされます(したがって、一般設定には従いません)。マップ機能内でマージンを設定できます(?map参照)。追記上の

map("world", border=0, ylim=c(-80, 80), fill=TRUE, 
    bg="gray", col="white",mar=rep(0,4)) 

、あなたは額面の一般的な設定を変更する場合は、元にパラメータを設定する

oldpar <- par(mar=rep(0,4) 
... some plotting ... 
par(oldpar) 

ような何かを行うことができます。これは、あなたが欲しいものを提供します。これは、独自のカスタムプロット関数を記述する場合に特に便利です。

+0

ありがとうございます!それは答えがそこに '?map'であったのは少し恥ずかしいですが、私は他の何よりも安心しています。 –

+0

@Michael:あなたは大歓迎です。気にしないで、明白に見逃すのは簡単です。私はそれ以上の有罪判決を受けた;) –

+0

+1私が持っていた問題は、私が 'border'プロパティを設定していなかったということでした。 – seand

2

map()関数は余白を設定するので、関数を呼び出すときに指定すると余白が変更されます。ただし、投影を渡す場合はmarは無視されます。

あなたは

map("county", fill = TRUE, resolution = 0, lty = 0, 
    projection = "polyconic", 
    myborder = 0, mar = c(0,0,0,0)) 

ような何かを行うのであれば余白は変更されません。

これを修正するには、1行のコードを追加してmaps()関数を変更する必要があります。

旧機能:へ

... 
if (coordtype != "spherical" || doproj) { 
    plot.window(xrange, yrange, asp = 1/aspect[1]) 
} else { 
... 

変更:

... 
if (coordtype != "spherical" || doproj) { 
    par(mar = mar) 
    plot.window(xrange, yrange, asp = 1/aspect[1]) 
} else { 
... 

私はCRANからソースをダウンロードして、私は、任意の将来のコールするように変更を行った後、RStudioを使用して自分のためにライブラリを再構築をprojectionとすると、依然としてmarの指定が可能になります。

関連する問題