見出し画像

ggplot2: 条件により色を変更する

プロットのドット(点)の色は、geom_point() の中で、 color を指定することで任意の色に変更できます。 色は、 "black", "red" など文字列で指定するか、16進数などの数値で指定します。

g + geom_point(color = "#969696")

下記は、グレイを指定したものです。

色を指定して変更した例。

条件に応じて変更

ボルケーノプロットは、遺伝子の発現が増減した様子を表すものです。ここでは、下記の3つの条件を考えます。

  • 変動なし: p-value > 0.05 または、|logFC| < 1

  • 変動あり(増加): p-value < 0.05 かつ logFC > 1

  • 変動あり(減少): p-value < 0.05 かつ logFC < -1

ボルケーノプロット上のドットをそれぞれの条件ごとに、グレイ、赤、青で塗り分けたいと思います。

ggplot2 では、複数の geom_point() を続けて記述することで、重ね合わせができます。例えば、 g + geom_point(変動なしデータ) + geom_point(増加データ) + geom_point(減少データ)のようなイメージです。

実際のコードは、下記のようになります。まず、フィルタ関数を用いて、条件ごとのデータを準備しておきます。

non_deg  <- de_result %>% filter(PValue > 0.05 | abs(logFC) < 1)
up_deg   <- de_result %>% filter(PValue < 0.05 & logFC >  1)
down_deg <- de_result %>% filter(PValue < 0.05 & logFC < -1)

geom_point() の中で、 data = として、これらのデータを指定します。それぞれの geom_point() で、異なる色を指定して塗り分けることができます。

g + geom_point(data = non_deg, color = "#969696") +
  geom_point(data  = up_deg,   color = "#FC9272") +
  geom_point(data  = down_deg, color = "#9ECAE1")

さらに、前回の補助線を加えると、最終的には下記のようなイメージになります。

条件で色を変更したボルケーノプロット。


この記事が気に入ったらサポートをしてみませんか?