You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言新手求助:使用ggplot绘制分组柱状图的若干问题

解决ggplot分组柱状图的三个需求

先给出修正后满足所有需求的完整代码:

# 构造数据
dveR <- data.frame(
  values = c(3.921, 3.557, 3.793, 3.154, 2.387, 1.906),
  group = rep(c("Cardia","Anterior","Posterior"), each = 2),
  subgroup = LETTERS[1:2]
)

# 转换group为因子,指定X轴显示顺序
dveR$group <- factor(dveR$group, levels = c("Cardia", "Anterior", "Posterior"))
# 转换subgroup为因子,替换分组标签
dveR$subgroup <- factor(dveR$subgroup, levels = c("A", "B"), labels = c("0 hours", "24 hours"))

# 绘制图表
library(ggplot2)
ggplot(dveR, aes(x = group, y = values, fill = subgroup)) +
  geom_bar(stat = "identity", position = "dodge") +
  scale_fill_manual(values = c("springgreen4", "orange2")) +
  labs(x = "tissue", y = "Log Re")

各需求的解决逻辑:

  • 设置轴标签:用labs()函数直接指定x和y的标签内容,这是ggplot调整轴标签最直接的方式。
  • 固定X轴分组顺序:ggplot默认会对字符型x轴变量按字母排序,将group转为因子并通过levels参数指定顺序,就能强制X轴按需求显示。
  • 替换子分组标签:将subgroup转为因子,通过labels参数把"A""B"替换为目标文本;也可在scale_fill_manual()里通过labels参数直接设置,但提前转换因子能让数据本身的含义更清晰。

注:原始代码中scale_fill_manual()缺少闭合括号,已在修正代码中补上,避免运行报错。

内容的提问来源于stack exchange,提问作者Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 01:22:32