R语言分组柱状折线组合图(多图多图例)复现求助
生成分组柱状折线组合图的R代码示例
前提准备
假设你的数据结构如下(可直接替换为你实际的数据集):
# 构造示例数据,替换为你的真实数据即可 sample_data <- data.frame( Score = rep(c("Low", "Medium", "High"), each = 2), variable = rep(c("Group A", "Group B"), 3), Actual = c(12, 18, 25, 30, 18, 22), Pois = c(10, 15, 23, 28, 16, 20) )
核心代码(基于ggplot2实现)
library(ggplot2) # 绘制组合图 ggplot(sample_data, aes(x = Score)) + # 绘制分组柱状图(对应Actual字段) geom_col(aes(y = Actual, fill = variable), position = position_dodge(width = 0.8), width = 0.7) + # 绘制折线图(对应Pois字段),搭配数据点增强可读性 geom_line(aes(y = Pois, color = variable, group = variable), position = position_dodge(width = 0.8), linewidth = 1) + geom_point(aes(y = Pois, color = variable), position = position_dodge(width = 0.8), size = 3) + # 自定义标签与样式 labs( x = "Score", y = "数值", fill = "分组", color = "分组", title = "分组柱状折线组合图" ) + scale_fill_brewer(palette = "Set2") + scale_color_brewer(palette = "Set2") + theme_minimal() + theme( plot.title = element_text(hjust = 0.5, size = 14, face = "bold"), axis.title = element_text(size = 12), legend.position = "top" )
代码说明
position_dodge(width = 0.8):确保柱状图和折线点的分组位置对齐- 可根据目标图样式调整颜色调色板(替换
Set2为其他配色方案)、主题(如theme_bw())、坐标轴文字、标题样式等 - 若你的原始数据是宽格式,可先用
tidyr::pivot_longer()转换为长格式后再运行上述代码
内容的提问来源于stack exchange,提问作者Veli K
相关产品推荐
相关产品推荐

