R语言绘制堆叠柱状图代码仅生成普通柱状图问题求助
问题原因
你无法生成堆叠柱状图的核心原因是当前使用的测试数据集结构不符合堆叠逻辑:每个x轴分类(date字段的每个日期)仅对应唯一的type值,不存在同一日期下多个type的speed数值,堆叠规则无法触发,因此最终仅展示为普通独立柱状图。
你可以运行如下代码验证数据结构:
table(car_exp$date, car_exp$type)
运行后可以看到所有日期对应的type列仅有一个有效值,其余均为0。
修复方案
- 首先确保你已提前加载
ggplot2包,否则代码会直接报错:
library(ggplot2)
- 调整数据集结构,确保每个x轴分类下存在至少两个不同
type的数值,示例如下:
# 调整后的数据集:每个日期同时包含Exp1、Exp2两组speed数据 car_exp = data.frame( type = rep(c("Exp1", "Exp2"), each = 3), date = rep(c("Sep 10", "Sep 11", "Sep 12"), 2), speed = c(60, 65, 55, 20, 25, 15) ) result = ggplot(data = car_exp, mapping = aes(x = date, y = speed, fill = type)) result + geom_bar(position = "stack", stat = "identity")
运行上述代码即可生成标准堆叠柱状图。
内容的提问来源于stack exchange,提问作者Bash
相关产品推荐
相关产品推荐

