見出し画像

【R言語】棒グラフの色を変えよう!〜ggsciでグラフの色にこだわる

こんにちは。R言語で多群比較用のグラフを書いているえいこです。

前回、3群比較の棒グラフを描いたのですが...

白・灰色・黒だとセンスがないなーと思って色々調べてみました。

実はRのパッケージに科学系の雑誌にあわせたカラーパレットなるものがあるそうなのでちょっと試しに使ってみようと思います。

参照したサイトはこちら。

“ggsci”をインストールしよう

ggplot2の仲間に”ggsci”というものがあるみたい。”ggsci”は科学系の論文に使うような色を、雑誌ごとに提示してくれる優れもののパッケージ。

早速、インストールして使ってみたいと思います。

install.packages("ggsci")
library(ggsci)

CRAN経由でインストールできるので、”install.packages()”でOKです。

“library()”を使って呼び出して、早速使ってみたいと思います。

どんなカラーパレットがあるか、公式サイトでもみられます。


Nature系の雑誌の色にしてみる

研究者によって憧れる雑誌の種類は違いますが、世の中にインパクトが強いのはやっぱりNatureとかScienceですよね。(私はCellに論文を掲載されるのが夢)

ggsciには残念ながらCell系のカラーパレットはなく、Nature Publishing Groupのパレットがありました。

早速使ってみましょう。

使い方は、”scale_color_npg()”や”scale_fill_npg()”を書いたグラフに足すだけ。

#prepare the graph field
graph<- ggplot(data=data_mean_sd,
              aes(x= order, 
                  y=mean)) 
#make the labels
graph<- graph+
 labs(x=xlab, y=ylab,
      shape="", fill="")+
 scale_y_continuous(expand = c(0,0), limits = c(0,ylim))+
 theme_classic()

#draw the plots
graph<-graph+
 geom_bar(
   aes(fill=order),
   stat="identity", 
   color="black",
   position="dodge"
 )+
 scale_fill_npg()+ #←足した部分
 geom_errorbar(
   errors,
   width=0.17)
graph

出力してみると...

画像1

色がつきました。たしかにNatureっぽい。

他にどんな色があるのかは、公式サイトを見てみるとわかりやすいかもしれません。

色の選択はどうしたら良いかはよくわからなかったので、とりあえずこのまま...。

上にドットプロットを重ねてみましょう。

graph<- graph+
 geom_jitter(data=data,
             aes(x = order,
                 y = value,
                 fill = order),
             stat= "identity",
             shape=16, 
             size=2.0,
             position = position_jitter(0.17))
graph
※shape=16がここに来ています。前回の記事では、”shape”という変数をわざわざ作ってドットプロットを描いていました。そのあとコードを見直してここに”shape=”を書いておくことにしています。

画像2

ドットが消えないし良いですね。


色々なカラーパレットを試してみてお好みの組み合わせを見つけてみるのも楽しいかもしれません。

どうしてもグレースケールで何とかしたい!っという場合にどうしたら良いかは今考え中です。


次回はグループの名前を”a”, “b”, “c”ではなく”control”, “A”, “B”にする方法を検討していきます。

それでは、また!


最後までお読みいただきありがとうございます。よろしければ「スキ」していただけると嬉しいです。 いただいたサポートはNGS解析をするための個人用Macを買うのに使いたいと思います。これからもRの勉強過程やワーママ研究者目線のリアルな現実を発信していきます。