Rでグラフ (plot) を重ねるときに、色や透明度を工夫するときれいなグラフが描けます。折れ線グラフを重ねる場合は、線のパターンを変更するとわかりやすいです。R でグラフ (plot) を重ねる際の、注意点や工夫すべきポイントをまとめます。
R の グラフ (plot) を重ねる
複数のグラフ (plot) を重ねる
グラフ (plot) を重ねる時は、グラフの描画関数にadd
パラメータを指定します。
例として、ヒストグラムを2つ描画して重ねました。重なり具合がわかりやすいように、色に透過率(col最後の2桁)を指定しています。
hist( rnorm(1000, mean=-2, sd=1), xlim=c(-10, 10), ylim=c(0, 250), col="#ff000020", main="rnorm", xlab="range") hist( rnorm(1000, mean=2, sd=1), xlim=c(-10, 10), ylim=c(0, 250), col="#0000ff20", main="rnorm", xlab="range", add=TRUE)
グラフ (plot) を重ねる時、addパラメータを使えない場合は、par(new=T)
を使います。この際、xの範囲とyの範囲をあわせるのがポイントです。それぞれxlim
・ylim
で指定します。また、この重ね方ではラベルも重なって読めなくなってしまうので、最初の描画ではann=F
の指定により表示を抑止し、後の描画でまとめてラベルを表示すると良いです。
下記の例では、グラフを識別するために線のパターンを変えました。legend
で凡例も忘れずに付けましょう。
plot(sin, xlim=c(0,5), ylim=c(-1,1), ann=F) par(new=T) plot(cos, xlim=c(0,5), ylim=c(-1,1), lty=2, ylab="sin(x), cos(x)") legend("topright", lty=1:2, legend=c("sin", "cos"))
1つのグラフでの重なり
散布図は点やマークで描画することが多いですが、点が重なった場合は重なり具合の情報がわかりにくくなります。マークに透明度を追加して、重なったときに濃淡の違いによって重なり度合いを示せるようになります。マークはpch
で、直接指定したり、マークの番号で指定したりします。透明度は、col(色の指定)
の最後で指定しています(alpha値
)。alpha=0.0は透明・alpha=1.0は不透明です。
## 透明度を指定したことにより、濃淡で重なりが分りやすい R> plot(log2(Sepal.Length) ~ log2(Sepal.Width), data=iris, col=rgb(0, 0, 0, alpha=0.1), pch=16)