我有一个工作堆积条形图,我使用以下代码制作:
stackedCE_avg <- ggplot() +
geom_bar(data = Com_avgCE_stdev, stat = "identity", size = 0.25, colour ="black", width =0.5, aes(x=x, y= value, fill=variable)) +
#geom_errorbar(aes(x = x, ymin = sd_neg, ymax = sd_pos), width=0.1) +
theme_bw() +
ylab("Percent") +
scale_y_continuous(limits=c(0,100)) +
theme(legend.title = element_blank(), legend.position ="top", legend.direction = "horizontal", legend.text = element_text(size = 8), axis.text.x = element_blank(), axis.title.x = element_blank(), axis.title.y = element_text(size = 10), axis.text.y = element_text(size = 8), strip.text = element_text(size = 8), axis.ticks.x = element_blank()) +
scale_fill_manual(values = c("grey77", "grey40")) +
facet_grid(Reactor ~ Tag, scales="free")
我在#
中取消geom_errorbar
的那一刻,如果收到以下消息,请尝试添加该图层
if(empty(data)){:缺少值需要TRUE / FALSE
时出错
我不确定为什么这一行无法添加错误栏,我不确定错误值是什么意思。我想也许这是我的数据框中的NA,所以我将它们全部改为0。这并没有解决问题。任何有关如何修复错误的建议都非常感谢。
感谢。
编辑:错误栏终于出现,但他们没有在正确的位置。我最后通过将底部列的值添加到停止列的值,然后计算min和ymax的位置(它不是很漂亮)来确定如何生成正确的位置。现在,误差线与堆叠列的颜色不匹配。这是我的新代码:
dodge <- position_dodge(width = 0.65)
stackedCE_avg <- ggplot() +
geom_bar(data = Com_avgCE_stdev, stat = "identity", size = 0.25, colour = "black", width =0.5, aes(x=x, y= value, fill=variable)) +
scale_fill_manual(values = c("grey77", "grey40")) +
geom_errorbar(aes(x = x, ymin = sd_neg, ymax = sd_pos, color = variable), width=0.25, data = Com_avgCE_stdev, position = "dodge") +
theme_bw() +
ylab("Percent") +
scale_y_continuous(limits=c(0,100)) +
theme(legend.title = element_blank(), legend.position ="top", legend.direction = "horizontal", legend.text = element_text(size = 8), axis.text.x = element_blank(), axis.title.x = element_blank(), axis.title.y = element_text(size = 10), axis.text.y = element_text(size = 8), strip.text = element_text(size = 8), axis.ticks.x = element_blank()) +
facet_grid(Reactor ~ Tag, scales="free")
我唯一想做的就是让颜色与我为填充颜色指定的颜色相匹配。