我必须用递增的y(nbi)值重新排列曲线图的条形图。提前感谢!
#NBI*Sig_lip
p4 <-ggplot(DF, aes(x=sig_lip, y=nbi, fill=sig_lip)) +
stat_summary(fun.y="mean", geom="bar",show.legend = TRUE) +
stat_summary(func="sd", geom="errorbar") +
theme_minimal()
p4+ coord_flip()
p4 + ggtitle(label = "nbi associated to signaling lipids")

发布于 2020-04-22 01:46:05
在这里,重新排序条形图的问题是您正在计算ggplot2中的平均值和标准差。因此,如果您传递“经典”reorder(x, -y),它将根据y的单个值而不是平均值来设置顺序。
因此,在将nbi作为参数传递到ggplot2中之前,您需要计算平均值和SD
library(dplyr)
library(ggplot2)
DF %>% group_by(sig_lip) %>%
summarise(Mean = mean(nbi, na.rm = TRUE),
SD = sd(nbi, na.rm = TRUE)) %>%
ggplot(aes(x = reorder(sig_lip,-Mean), y = Mean, fill = sig_lip))+
geom_col()+
geom_errorbar(aes(ymin = Mean-SD, ymax = Mean+SD))它回答了你的问题吗?
如果没有,请按照本指南提供一个可重复使用的数据集示例:How to make a great R reproducible example
https://stackoverflow.com/questions/61349672
复制相似问题