ggplot2でグラデーションを変更する(続き) | R

前回の続きです。
前回は自前で色を用意しましたが、今回は既に用意されている色(パレット)を使います

記事の概要です。

  • 良い感じのパレット
    • Wes Anderson color palette
  • パレットとscale_color_gradientがセットになったもの
    • scale_color_distiller
    • scale_color_viridis_c
    • ggsciパッケージ

面を塗り潰すときは、colorの箇所をfillにして下さい。

また、この記事で用いたパッケージのバージョンはこちらになります。

  • ggplot2 ‘3.1.1
  • wesanderson ‘0.3.6
  • RColorBrewer ‘1.1.2
  • viridis ‘0.5.1
  • ggsci ‘2.9

改めてデフォルト

前回も掲載しましたが、改めてデフォルトです。

library(ggplot2)
sp <- ggplot(mtcars, aes(x = wt, y = mpg, col = qsec)) + geom_point(size = 5)
sp

デフォルトは青のグラデーションです。

Wes Anderson color palette

Rには標準でpalette()rainbow()などのパレットが備わっています。
これらを使ってグラデーションを変更できますが、あまりクールではないです。
詳しくは、こちらを参照下さい。

その代わりにここでは、Wes Anderson color paletteを使ってグラデーションを変更します。

library(wesanderson)
pal <- wes_palette(10, name = "Zissou1", type = "continuous")
sp + scale_color_gradientn(colors = pal)

使えるパレットはこちらのリストに格納されています。
wes_palette()のname引数でパレットを変更できます。

wes_palettes

色を文字列ベクトルとして得たいときは、as.vectorを使います。

as.vector(wes_palette(10, name = "Zissou1", type = "continuous"))
 [1] "#3B9AB2" "#56A6BA" "#71B3C2" "#9EBE91" "#D1C74C" "#E8C520" "#E4B80E"
 [8] "#E29E00" "#EA5C00" "#F21A00"

参考:GitHub – karthik/wesanderson: A Wes Anderson color palette for R

scale_color_distiller

ここからは、パレットとscale_color_gradientがセットになったものを紹介します。

sp + scale_color_distiller(palette = "YlGnBu", direction = 1)

使えるパレットはこちらで確認して下さい。

library(RColorBrewer)
display.brewer.all()

## colorblind friendly パレットのみ
display.brewer.all(colorblindFriendly = T)

direction引数のデフォルト値は-1で、1と比べると色の順序が逆になります。

sp + scale_color_distiller(palette = "YlGnBu")

ちなみに、離散的な値を表現する場合は、scale_color_brewerを使います。

scale_color_viridis_c

sp + scale_color_viridis_c(option = "D")

使えるパレットはこちらになります。

  1. magma” (or “A“)
  2. inferno” (or “B“)
  3. plasma” (or “C“)
  4. viridis” (or “D“, the default option)
  5. cividis” (or “E“)

ちなみに、離散的な値の場合は、scale_color_viridis_dを使います。

また、viridisパッケージをロードしている場合は、こちらでもOKです。

library(viridis)
sp + scale_color_viridis(option = "D")
sp + scale_color_viridis(option = "D", discrete = T) # 離散

ggsciパッケージ

library(ggsci)
sp + scale_color_material(palette = "green")

ggsciのContinuous Color Paletteにはscale_color_gseaもあります。

palette引数の選択肢と離散的な値の場合(Discrete Color Palette)も含めた詳細はこちらを参照ください。

vignette("ggsci")

おわりに

Rのggplot2で、既に用意されている色(パレット)を用いたグラデーション変更方法について説明しました。
各パレットについて詳しい説明はしませんでしたが、どれも良い感じのグラフになると思います。
また、他にも良いパレットはあると思います。
いろいろと試してみて下さい。

では。


YouTube: ミサキさん

問い合わせ先
Mail: caprico.aries@gmail.com
Twitter: https://twitter.com/caprico_aries(無言フォローもお気軽に)

コメント

タイトルとURLをコピーしました