![見出し画像](https://assets.st-note.com/production/uploads/images/110793240/rectangle_large_type_2_2d03b44bc2fbffc8155d098ae49510aa.png?width=1200)
ggplot2: マニュアルで色を指定する
ボックスプロットの例で紹介したように、 aes() に、 fill または、 color を指定するとグラフに色付けすることができます。その際、色は自動的に選ばれたものが使用されます。これをマニュアルで指定したい場合には、 scale_fill_manual() または、 scale_color_manual() を用います。
scale_fill_manual() の使用例
geom_boxplot() のあとに、「+」 で続けて、要素の数だけ、色を指定します。
scale_fill_manual(values = c(色1, 色2, …)) という書式です。X軸に並んだ順番に色1, 色2 で色付けされます。(サンプルを並び替えたい場合は別に紹介します。)
ggplot(plot_data, aes(x = sample, y = read_count, fill = sample)) +
geom_boxplot() + scale_fill_manual(values = c("salmon", "royalblue"))
![](https://assets.st-note.com/img/1689341963224-cFQuIzjFrD.png?width=1200)
色付けは、色の名前だけではなく、16進数で指定することもできます。
ggplot(plot_data, aes(x = sample, y = read_count, fill = sample)) +
geom_boxplot() + scale_fill_manual(values = c("#FFFC63", "#7D5AFB"))
![](https://assets.st-note.com/img/1689342272039-pUB9dIofqT.png?width=1200)
ColorBrewer パレットを使用する
色付けしたい要素が多い場合は、視認性の高い ColorBrewer のパレットを使用することもできます。scale_fill_manual() の代わりに scale_fill_brewer() 関数で指定します。
input_data <- tibble("Sample1" = rnorm(100) + 10,
"Sample2" = rnorm(100) + 10,
"Sample3" = rnorm(100) + 10,
"Sample4" = rnorm(100) + 10,
"Sample5" = rnorm(100) + 10)
plot_data <- input_data %>%
gather(starts_with("Sample"), key = "sample", value = "read_count")
ggplot(plot_data, aes(x = sample, y = read_count, fill = sample)) +
geom_boxplot() + scale_fill_brewer(palette = "Spectral")
ここでは、パレットに "Spectral" を指定しています。ほかにも YlOrRd, YlOrBr, Set1, Set2, Dark2, Spectral などがあります。
![](https://assets.st-note.com/img/1689342882479-gQKpuOpVLD.png?width=1200)