如何在ggplot分类X轴散点图中添加跨双温度的全局回归线
ggplot2绘制分类X轴散点图并添加全局回归线
示例代码实现
首先构造一份和你需求匹配的模拟数据:
library(ggplot2) # 生成模拟数据 set.seed(123) df <- data.frame( 温度 = rep(c("低温", "高温"), each = 50), 基因 = rep(paste0("基因", 1:10), 10), 表达量 = c(rnorm(50, 2, 0.5), rnorm(50, 3, 0.6)) )
接下来绘制符合要求的图形:
ggplot(df, aes(x = 温度, y = 表达量, color = 基因)) + geom_point(alpha = 0.7) + # 调整点透明度避免重叠遮挡 # 全局回归线:group=1强制所有数据拟合一条线,method="lm"用线性回归 geom_smooth(method = "lm", aes(group = 1), se = FALSE, color = "black", linewidth = 1) + labs(x = "温度", y = "表达量", color = "基因") + theme_minimal()
关键说明
- 分类X轴处理:直接将
温度作为分类变量传入aes的x参数,ggplot会自动处理分类轴的刻度展示 - 全局回归线核心:
geom_smooth里设置aes(group=1)是关键,这会忽略color=基因的分组映射,强制把所有数据合并为一组拟合回归线,确保只会出现一条汇总整体趋势的线 - 样式自定义:可根据需求修改点的大小、透明度,回归线的颜色、粗细,以及整体主题样式
内容的提问来源于stack exchange,提问作者Ellery Vincent
相关产品推荐
相关产品推荐

