【发布时间】:2021-08-27 14:00:10
【问题描述】:
我想将 alpha 添加到我的条形图 (ggplot2) 但每个条我想要一个不同的 alpha,它应该取决于 y 轴高度。 我对 r 不太有经验,所以我还在苦苦挣扎:) 到目前为止,我的代码是这样的。 正确的选择是二项分布,并且只标注了 1 或 0。
#Data preparation#
DataMerged235$treatment <- factor(DataMerged235$treatment, levels = c("odour & flavour", "only odour", "only flavour"))
#Figure#
fig235 <- ggplot (DataMerged235, aes(x = treatment, y = correct_final)) +
stat_summary(fun.y = "mean", geom = "bar", fill="dodgerblue4") +
stat_summary(fun.data = "mean_cl_boot", geom="errorbar", width = 0.2) +
ylab("Proportion of correct choices") + xlab("") + theme_bw(16) +
geom_abline(intercept = 0.5, slope = 0, color = "black", linetype = 2) +
coord_cartesian(ylim = c(0.4, 1.15))
print(fig235)
这里是当前输出:https://ibb.co/mHVSwpt
我想补充一点,条形的 y max 越高意味着 alpha 越暗。在我们的示例中,这将导致 alpha 降低(从左到右)。
我数据中的随机部分:
structure(list(colony = c(14, 5, 12, 11, 12, 14, 12, 18, 12,
12), correct_initial = c(1, 0, 1, 1, 1, 1, 0, 0, 1, 1), correct_final = c(1,
0, 1, 1, 1, 1, 0, 0, 1, 1), treatment = c("odour & flavour",
"only odour", "odour & flavour", "only odour", "odour & flavour",
"odour & flavour", "odour & flavour", "only flavour", "only flavour",
"odour & flavour")), row.names = c(NA, -10L), class = c("tbl_df",
"tbl", "data.frame"))
【问题讨论】:
-
有趣的问题 - 我还不知道答案,但我相信函数
after_stat()或after_scale()将在解决方案中发挥作用。