理系夫婦のうたたねブログ

理系夫婦が好きなことを書いていきます。たまに医学っぽいことを書いていますが、あくまで私見です。

ggpubrでのグラフの整え方

ggpubrで作成されるグラフの整え方を少し紹介します。

はじめに

ggpubrでデフォルトで出てくるグラフはある程度整ってはいますが、自分好みに整えるのが必要な部分もあります。 昨日のggpairedを題材に、少しいじってみます。

データの紹介

使うデータとコードは昨日の記事と同じです。

med-ruka.hatenablog.com

sleep dataを用いて少しやってみます。

処理と結果

# ライブラリのインポートとデータ取得
library(ggpubr)
data(sleep)
# 簡単なプロット
ggpaired(data = sleep, x = "group", y = "extra")

簡単なプロット

ggpairedにはいくつかの引数があり、指定することで見た目を変えることができます。 前回は色を変えたりしていましたが、それ以外にbox plotの幅を変えたり (width)、対応するサンプル間に引く線の太さ (line.size) を変えられます。

ggpaired(data = sleep,
         x = "group",
         y = "extra",
         width = 0.8,
         line.size = 0.1,
         )

幅と線を変更

一方で軸ラベルの字の大きさや、グラフタイトルの追加にはggparを用います。 使い方は、

p <- ggpaired(data = sleep,
              x = "group",
              y = "extra",
              width = 0.5,
              line.size = 0.5,
              linetype = "dashed")
ggpar(p,
      main = "Effects of drugs on sleep amount",
      xlab = "Group", 
      ylab = "Sleep amount",
      font.main = c(24,"bold.italic", "blue"),
      font.x = c(16, "bold"),
      font.y = c(16, "bold"))

のようにするみたいです。 これで以下のように、軸ラベルなどをいじったグラフが出せます。 font.mainなどのc() の中身は font size, font type, font colorになっています。

ラベルなどを変更したグラフ

p<- ggpaired(d,
             cond1 = "drug1",
             cond2 = "drug2",
             fill = "condition",
             line.color = "gray",
             palette = "Blues")
ggpar(p,
      xlab = "Group", 
      ylab = "Sleep amount",
      font.main = c(18),
      font.x = c(18, "bold"),
      font.y = c(18, "bold"),
      font.tickslab = c(14,"bold"),
      legend = "right",
      legend.title = "Condition")

Conditionの情報が冗長ですが、こんな感じで整えていくことが可能です。

ちょっと整えたグラフ

感想

ggpubrは簡単にグラフを作るのには便利だなーと思います。 同僚に説明したりする程度であればこのくらいのグラフでも全く問題ない気がしますし。 論文に となるとまたちょっと変わる気もしますが、もうちょっと修行したらもっとよくかけるかもしれません。 R はフリーなのが大変助かるところで、これからさらに慣れていきたいところです。