ggplot2で背景を透過させる
ggplot2パッケージを使って、背景が透過した画像を出力する方法。透過させたいグラフの要素に対して、theme()関数を通してelement_rect(fill = "transparent")を指定する。
例えば、棒グラフの要素の塗りつぶし以外でグラフ全体を透過させるには以下のようにする。
code: ggplot2でのグラフの透過.R
library(ggplot2)
library(palmerpenguins)
p <-
ggplot(penguins) +
aes(x = species, fill = species) +
geom_bar() +
theme(
# プロット全体を透過。color = NAで枠線も消す
plot.background = element_rect(fill = "transparent", color = NA),
# パネル部分を透過
panel.background = element_rect(fill = "transparent"),
# 凡例を透過
legend.background = element_rect(fill = "transparent"))
ggsave("penguins.png", plot = p)
https://i.gyazo.com/c9a8f9f8e404ef4b466f184c840dc81c.png
ggplot2でのグラフ要素の透過指定のあるなしの違い
参考
https://qiita.com/kazutan/items/615415e9b9c74123a822
ggsave(..., bg = "transparent")じゃなくても透過が機能するようになっている uribo.icon
hr.icon
#知っていると便利