R语言ggplot2如何绘制带上下误差限的分组柱状直方图
R语言ggplot2绘制带误差棒的分类柱形图方案
原有代码生成点图是因为调用了散点几何对象geom_point(),替换为柱形几何对象即可实现3个分类柱形的可视化效果,误差棒直接映射数据框的Lower、Upper列作为上下限即可。
完整可运行代码
# 加载ggplot2绘图包 library(ggplot2) # 匹配提供的示例数据 my_data <- data.frame( Dimensions = c("Cognitive", "Affective", "Comportementale"), Mean = c(2.617, 2.417, 2.017), SE = c(0.148, 0.128, 0.139), Lower = c(2.318, 2.157, 1.736), Upper = c(2.916, 2.676, 2.297) ) # 绘图代码 ggplot(my_data, aes(x = Dimensions, y = Mean)) + geom_col(width = 0.6, fill = "#4e79a7") + # 替换原geom_point()生成柱形,可自定义柱宽、填充色 geom_errorbar(aes(ymin = Lower, ymax = Upper), width = 0.2) + # 误差棒上下限直接对应Lower、Upper列 ylim(0, 4) + theme_minimal() # 可选,替换为简洁的绘图主题
代码说明
geom_col()是ggplot2中专门用于绘制y值为实际数值高度的柱形图函数,不需要额外设置统计变换参数,直接替换原有geom_point()即可把点改成柱形- 如果需要沿用原代码里误差棒加减SE的逻辑,只需要把
geom_errorbar()内的映射改回aes(ymin = Lower-SE, ymax = Upper+SE)即可,根据需求直接映射现有Lower、Upper字段为误差限即可 - 可以根据审美自行调整柱宽、填充色、误差棒宽度、主题样式等参数
内容的提问来源于stack exchange,提问作者Paillou
相关产品推荐
相关产品推荐

