求助:使用ggplot2在R中绘制多Y值变量条形图(附Excel示例)
使用ggplot2复刻Excel风格条形图
模拟数据框(匹配常见Excel表格结构)
假设你的Excel数据是产品类别对应不同季度的销量数据,先构造对应的数据框:
library(tidyverse) # 创建数据框 sales_data <- data.frame( 产品类别 = rep(c("产品A", "产品B", "产品C"), each = 4), 季度 = rep(c("Q1", "Q2", "Q3", "Q4"), 3), 销量 = c(120, 150, 180, 200, 90, 110, 130, 160, 150, 170, 190, 220) )
绘图代码(含fill参数使用)
下面的代码会生成分组条形图,用fill参数区分不同维度,同时调整样式贴近Excel默认风格:
ggplot(sales_data, aes(x = 产品类别, y = 销量, fill = 季度)) + geom_col(position = position_dodge(width = 0.8), width = 0.7) + # 分组条形,调整间距避免重叠 scale_fill_brewer(palette = "Blues") + # 匹配Excel常用的蓝色系填充 labs(title = "各产品季度销量对比", x = "产品类别", y = "销量") + theme_minimal() + theme( plot.title = element_text(hjust = 0.5, size = 14, face = "bold"), axis.text = element_text(size = 10), axis.title = element_text(size = 12), legend.title = element_text(size = 11), legend.position = "bottom" # 图例置于底部,对齐Excel常见布局 )
核心参数说明
fill = 季度:通过该参数为不同季度的条形分配填充色,实现分组维度的可视化区分- 若你的Excel图表是堆叠条形图,只需将
position = position_dodge(...)替换为position = "stack"即可适配
内容的提问来源于stack exchange,提问作者Juri Fuchs
相关产品推荐
相关产品推荐

