R 使い方 カラーパレット RColorBrewer 透明な色とグラフ
RColorBrewer
は便利でよく使われるパッケージです。色々な色の組み合わせを簡単に使うことができます。しかし、複数のグラフを重ねたときに、透過度を簡単に設定できないのは使いにくく感じる場合があります。色の透過度を設定する方法を調べました。尚、デフォルトで用意されているカラーパレットは、オプションで透過度を設定できます。
RColorBrewer 使い方
インストール
他のパッケージのインストール作業と同様、Rを管理者権限で起動して以下のコマンドを入力します。以降、表示される指示に従ってインストールします。
install.packages("RColorBrewer")
使い方
他のパッケージのインストール作業と同様、はじめにlibrary
でパッケージをロードして使います。
パレットの確認
用意されているカラーパレットは、display.brew.all()
関数で、「名前」と「色の組み合わせ」「色数」を確認することができます。
R> library(RColorBrewer) display.brewer.all()

パレットを使う
brewer.pal
関数で「色数」と「パレット名」を指定して、使いたいパレットを呼び出します。得られたパレットをグラフのcol
オプションに指定して使います。「色数」はそれぞれのパレットで決まっています。超える値をセットすると、パレットの色は循環して使われます。
R> library(RColorBrewer) pie(rep(1,11), col=brewer.pal(11, "Spectral")) #色数11が最大(Spectral)

R> pie(rep(1,12), col=brewer.pal(12, "Spectral")) #色が最大(11)を超えると循環する

RColorBrewer 透過度の設定
透過度を設定する関数
adjustcolor
関数を使って透過度を設定することができます。関数には、「カラーパレットで選んだ色」・「透過度(alpha)」を渡します。透過度については、alpha=1
で不透明、値が小さくなるとより透明になります。
色を透明にして複数のグラフを重ねる(RColorBrewer)
はじめに、RColorBrewerのカラーパレットを生成します。次に、「透過度を設定したい色」・「透過度」を指定してadjustcolor
関数を呼びます。最後に、戻り値(透過度が設定された色)を変数に保存するか・戻り値を直接使って、グラフのcol
オプションに設定します。
R> library(RColorBrewer) cols = brewer.pal(2, "Pastel1") # カラーパレット生成 my_color1 <- adjustcolor(cols[1], alpha=0.4) # 色を保存する # 保存した色を設定 hist( rnorm(1000, mean=-2, sd=1), xlim=c(-10, 10), ylim=c(0, 250), col=my_color1, main="rnorm", xlab="range") # adjustcolor関数の戻り値を直接設定 hist( rnorm(1000, mean=2, sd=1), xlim=c(-10, 10), ylim=c(0, 250), col=adjustcolor(cols[2], alpha=0.4), main="rnorm", xlab="range", add=TRUE)
透過度あり

透過度なし(adjustcolor関数を使わなかった場合)

デフォルトカラーパレット 透過度の設定
色を透明にして複数のグラフを重ねる(rainbowカラーパレット)
デフォルトのカラーパレット(rainbow・heat.colors・cm.colorsなど)には、透過度を設定するオプションalpha
が用意されているので、カラーパレット生成時に透過度を設定して使います。指定しない場合、alpha=1
なので不透明です。値が小さくなるとより透明になります。
R>
my_color = rainbow(12, alpha=0.4)
hist(
rnorm(1000, mean=-2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col=my_color[7],
main="rnorm", xlab="range")
hist(
rnorm(1000, mean=2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col=my_color[11],
main="rnorm", xlab="range",
add=TRUE)

実験データの解析や論文用グラフ作成のヒントになりそうな、プログラミング・統計処理の参考になる書籍をまとめて紹介しています。是非、参考にしてみて下さいね。