10

この領域を強調するために、プロットの一部が灰色のRでプロットを作成しようとしています。他の例とは異なり、プロットの下の領域に色を付けたくはありませんが、代わりに、ある領域からグラフの最後までプロット上の領域に色を付けます。rect()またはpolygon()を使おうとすると、強調したいプロットが不明瞭になります。

例えば:

x_mean <- c(1, 2, 3, 4)
y_mean <- c(1, 1, 1, 1)

y_max <- c(4, 4, 4, 4)
y_min <- c(-4, -4, -4, -4)


x_shade <- c(2, 3, 4)

y_max_shade <- c(4, 4, 4)
y_min_shade <- c(-4, -4, -4)

plot(x=rep(x_mean, 3), y=c(y_mean, y_max, y_min), bty='n', type="n" )
arrows(x0=x_mean, y0=y_min, x1=x_mean, y1=y_max, length=0)
points( x=x_mean, y=y_mean, pch=16)

これにより、グラフに4本の線がプロットされます。2行目からプロットの終わりまでの背景に灰色のボックスを描画するにはどうすればよいですか?

4

2 に答える 2

15

コメント以上のものが残るように、考えられる解決策は次のとおりです。

plot(x=rep(x_mean, 3), y=c(y_mean, y_max, y_min), bty='n', type="n" )
rect(2,-4,4,4,col = rgb(0.5,0.5,0.5,1/4))
arrows(x0=x_mean, y0=y_min, x1=x_mean, y1=y_max, length=0)
points( x=x_mean, y=y_mean, pch=16)

ここに画像の説明を入力してください

色の仕様でアルファブレンディングを使用する方法も示したことに注意してください(を使用rgb)。これは、この種のことにも役立ちます。行を最後まで移動してみてくださいrect。塗りつぶしの色が部分的に透明であるため、結果はまだ問題ないように見えます。

于 2012-06-28T17:51:44.373 に答える
1

この答えは、Rの背景部分をシェーディングするのに非常に適していることがわかりました。

いくつかのコンテキスト:

panel.first = rect(c(1,7), -1e6, c(3,10), 1e6, col='green', border=NA)

最初の2つの引数c(1,7)は影付きの長方形の開始値であり、次の引数c(3,10)は影付きの終了場所です。これにより、1〜3と7〜10の影付きの領域が作成されます。

于 2018-03-06T18:15:01.700 に答える