geom_bar プロットに使用したいカスタム カラー パレットがあります。ただし、これらの色の輝度も手動で設定したいと思います。ggplot コードで scale_fill_manual() 関数と scale_fill_hue() 関数を一緒に実行すると、次のエラーが発生します。
Scale for 'fill' is already present. Adding another scale for 'fill', which will replace the existing scale.
1 つの「scale_fill」関数が他の関数をオーバーライドしているように見えます。次のように scale_fill_manual() 関数内で輝度を設定することは論理的に思えました。
scale_fill_manual(values=cbPalette, l = 55)
しかし、これはうまくいきません。
よろしくお願いします。これは、輝度が正しく設定されていない図のバージョンです(以下はデータとコードです)。
> Sex_age_survival
Sex age estimate lcl ucl
Female Adult 0.6826927 0.62881160 0.7320849
Male Adult 0.6941044 0.64680030 0.7376429
Female Juvenile 0.4062997 0.27163540 0.5566986
Male Juvenile 0.5270193 0.39998360 0.6506502
Female Chick 0.4296511 0.30855270 0.5394149
Male Chick 0.3987215 0.25969601 0.5252046
Salina Nest 0.5643484 0.52096067 0.6054399
Marsh Nest 0.1434720 0.04435806 0.3013856
limits <- aes(ymin = lcl, ymax = ucl)
dodge <- position_dodge(width=0.7)
cbPalette <- c("#E69F00", "#009E73", "#CC0000", "#0066CC")
Sex_age_plot2 <- ggplot(Sex_age_survival, aes(fill = Sex, x = age, y = estimate)) +
theme_bw() +
geom_bar(width = 0.7, position = "dodge", stat = "identity") +
geom_errorbar(limits, position = dodge, width=0.2, size = .6, shape = 1) +
theme(text=element_text(size = 16, family = "Candara"),
legend.text = element_text(size = 30),
legend.title = element_text(size = 30),
axis.title.x = element_text(size = 35, vjust = -0.1),
axis.text.x = element_text(size = 30),
axis.title.y = element_text(size = 35, vjust = 1.2),
axis.text.y = element_text(size = 30),
panel.grid.major = element_blank()) +
xlab("Life stage") +
ylab("Apparent survival (± 95% CI)") +
scale_y_continuous(limits = c(0, 1)) +
scale_fill_hue(l = 55) + # seems like I cannot run this in addition to scale_fill_manual()
scale_fill_manual(values=cbPalette) # seems like I cannot run this in addition to scale_fill_hue()
Sex_age_plot2