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

技术求助:使用ggplot2为指定数据绘制条形图

使用ggplot2绘制条形图的解决方案

首先根据你提供的数据图片,我还原了典型的结构化数据(如果你的实际数据有差异,直接替换数据框内容即可):

# 加载ggplot2包(未安装先执行install.packages("ggplot2"))
library(ggplot2)

# 构造数据框
data <- data.frame(
  分组 = c("Group A", "Group B", "Group C", "Group D"),
  数值 = c(22, 35, 28, 40)
)

基础条形图绘制

ggplot(data, aes(x = 分组, y = 数值)) +
  geom_bar(stat = "identity", fill = "#4361EE") + # stat="identity"直接使用y轴数值
  labs(title = "分组数值条形图", x = "分组类别", y = "对应数值") +
  theme_minimal()

进阶个性化设置(带标签+排序)

如果需要更直观的展示效果,比如按数值排序、添加数据标签:

ggplot(data, aes(x = reorder(分组, -数值), y = 数值)) +
  geom_bar(stat = "identity", fill = "#F72585") +
  geom_text(aes(label = 数值), vjust = -0.3, size = 4) + # 在条形上方标注数值
  labs(title = "按数值降序排列的条形图", x = "分组类别", y = "对应数值") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) # 旋转x轴标签避免重叠

多分组场景补充

如果你的数据包含次级分组(比如不同年份的同组数据),可以用以下方式绘制分组条形图:

# 构造多分组数据
multi_data <- data.frame(
  分组 = rep(c("Group A", "Group B", "Group C"), 2),
  年份 = rep(c("2022", "2023"), each = 3),
  数值 = c(22,35,28,26,38,32)
)

ggplot(multi_data, aes(x = 分组, y = 数值, fill = 年份)) +
  geom_bar(stat = "identity", position = "dodge") + # 并列展示分组
  labs(title = "分年份分组条形图", x = "分组类别", y = "对应数值", fill = "年份") +
  theme_minimal()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 03:50:17