Rのplotの色指定方法まとめ(カテゴリーデータの場合)
Rで下のようなプロットをするときに、使える色の指定方法をまとめる。今回はデータがカテゴリーデータの場合に使える方法を5個紹介する。 なお、量的なデータの場合の色指定の方法はこちら。
楽。ただし色数が限られるので、多数のカテゴリーがある場合は対応できない。
blue, red, greenなど単語で色を指定できるようになっている。 一番直感的でわかりやすいのはこの方法だと思う。しかし、多数のカテゴリーがあると、適切に指定しないとカテゴリーが見分け辛くなるし、指定するのもめんどくさい。
RColorBrewerというパッケージを使用することで既存のパレットから色を選択して使うことができる。使い方は すでに作られたパレットから選択して使えるので、色を選びやすいのがメリット。デメリットは、色数が一番多いパレットでも12色しかないことだ。
colorRampを使うと、自分で好きな色を指定してパレットを作成し、その中から好きな数だけ色を作成することができる。上の棒グラフは次のようなコードで書いたもの。 最初と最後の色だけではなく、中間の色も指定することができる。 自分で色を指定してパレットを作ることができるのがメリット。色指定が手間といえば手間と言えるが、色覚特性に配慮した色にしたい場合などではかなり使いやすいと思う。また、色数を多くできる。
colorRampsでは、colorBrewerと同じようにパレットが定義されている。定義されたパレットを選択して、そこから自分で色数を指定することができる。上の図は、それぞれのパレットから、色数を10として色を作ったときにできる色を示したものである。 パレットがすでに定義されていて、さらに色数を自分で指定できるというメリットがある。また、"#FFFFFF"などのような文字列で返されるので扱いやすい。デメリットは特に思いつかないが、色数を多くしたときにパレットによっては色の区別が付き辛くなるかもしれない。 一番直感的でわかりやすいのは色名で指定する方法だろう。しかし、色数が多いときに指定するのが面倒だ。色の数が比較的少ない(10程度)ならRColorBrewerを使うのが一番楽なのではないかと思う。色数がそれ以上になると、RColorBrewerでは対応できないので、colorRamp、もしくはcolorRampsを使うのが良いと思われる。自分で色を指定してパレットを作りたいならcolorRamp、既存のパレットでいいならcolorRampsが扱いやすいだろう。 R Color Reference Sheet | Brokering Closure 使用したコード https://github.com/kubotam-m/R_codes/blob/master/color_test.R
col=(整数)で指定する方法
plot(x,y,col=1)
などとすることで色の指定ができる。指定できる色は上の8色。メリット・デメリット
Rで指定されている色名によって指定する方法
plot(x, y, col="red")
などとして使う。指定できる色の一覧を示したのが上の図だ。それぞれの番号の色がどんな名前で定義されているか下のリンクから参照できる。
https://github.com/kubotam-m/R_codes/blob/master/color_list.txtメリット・デメリット
RColorBrewerを使う方法
brewer.pal(5, "Blues")
のようにbrewer.pal(<色数>, <パレットの名前>)
で色を取得できる。このとき"#FFFFFF"のように文字列で返ってくるので扱いが楽。メリット・デメリット
colorRampを使う方法
pal <- colorRampPalette(c("blue","green","yellow","orange","red"),space="rgb")
col_l <- pal(25)
barplot(1:25, names=1:25,col=col_l)
メリット・デメリット
colorRampsを使う方法
メリット・デメリット
使い分けについて
参考リンクおよび使用したコード