4

プロット領域のみに色を付ける簡単な方法があるかどうか疑問に思っていますか? この設定でデバイス全体の背景の色が定義されると思われるpar()$bgため、低レベルのプロット コマンドを適用しpolygonて、プロット エリア全体に色付きの四角形を追加しました。

#colored device background
x11()
par(bg="grey90")
plot(x=1, y=2)
grid(col="white", lty=1)
points(x=1, y=2)

#colored plot area only
x11()
plot(x=1, y=2)
usr <- par()$usr
polygon(x=c(usr[1], usr[1], usr[2], usr[2]), y=c(usr[3], usr[4], usr[4], usr[3]), col="grey90")
grid(col="white", lty=1)
points(x=1, y=2)

これがこれを行う唯一の方法かもしれませんが、par設定にもっと簡単な方法がある場合は、ぜひ知りたいです. アドバイスをよろしくお願いします。

4

1 に答える 1

7

それ自体で、あなたが望むことを行う同等の議論はないと確信しています。

ただし、これはあなたのものよりも簡単なアプローチです。plot.default()の引数を使用panel.firstして、バックグラウンドで、原点を中心とする単一の巨大な塗りつぶされたポイントをプロットします。ポイントの範囲は、少なくともすべての方向でグーゴル立方単位であり、これが R のネイティブ Windows プロット デバイス、および pdf および png デバイスで機能することを確認しました。これはかなり一般的なソリューションのようです。

## Your example
plot(x=1, y=2, 
     panel.first={points(0, 0, pch=16, cex=1e6, col="grey90")
                  grid(col="white", lty=1)})

## Or, for repeated use, make it a function:
ggbg <- function() {
    points(0, 0, pch=16, cex=1e6, col="grey90")
    grid(col="white", lty=1)
}
plot(x=1, y=2, panel.first=ggbg())

ここに画像の説明を入力

## Also works for plots running out to 1e300 in each direction
plot(x=-1e300, y=1e300, panel.first=ggbg())
于 2013-05-20T06:25:57.090 に答える