求R语言代码:绘制含对照与胁迫处理的组合correlation matrix图
整合对照与胁迫处理的相关矩阵组合图R代码
核心依赖包
我们使用GGally包实现这类组合图,它支持在相关矩阵中同时展示散点图、密度曲线与相关系数,且天然支持分组可视化。
1. 安装并加载必要包
# 首次运行时安装依赖包 install.packages(c("GGally", "ggplot2", "dplyr")) # 加载包 library(GGally) library(ggplot2) library(dplyr)
2. 准备数据集(替换为你的真实数据)
以下是模拟的对照/胁迫数据集结构,你只需要保证数据包含:
- 一个分组列(命名为
Group,值为Control/Stress) - 若干数值型的实验指标列
# 设置随机种子保证结果可重复 set.seed(123) # 生成对照处理数据(30个样本,5个指标) control_data <- data.frame( Group = "Control", Index1 = rnorm(30, 50, 8), Index2 = rnorm(30, 45, 7), Index3 = rnorm(30, 60, 9), Index4 = rnorm(30, 35, 6), Index5 = rnorm(30, 55, 8) ) # 生成胁迫处理数据(30个样本,5个指标) stress_data <- data.frame( Group = "Stress", Index1 = rnorm(30, 40, 8), Index2 = rnorm(30, 55, 7), Index3 = rnorm(30, 45, 9), Index4 = rnorm(30, 45, 6), Index5 = rnorm(30, 40, 8) ) # 合并两类数据 combined_data <- rbind(control_data, stress_data)
3. 绘制组合型相关矩阵图
ggpairs( data = combined_data, columns = 2:6, # 指定要分析的指标列位置(跳过第一列Group) aes(color = Group, fill = Group), # 按分组着色/填充 # 上三角:展示分组散点图,调整透明度和点大小避免重叠 upper = list(continuous = wrap("points", alpha = 0.6, size = 1.2)), # 对角线:展示分组密度曲线,调整透明度 diag = list(continuous = wrap("densityDiag", alpha = 0.5)), # 下三角:展示相关系数,调整字体大小 lower = list(continuous = wrap("cor", size = 4)) ) + theme_bw() + # 使用简洁的黑白主题 # 自定义分组颜色 scale_color_manual(values = c("Control" = "#1f77b4", "Stress" = "#ff7f0e")) + scale_fill_manual(values = c("Control" = "#1f77b4", "Stress" = "#ff7f0e")) + # 添加标题并调整格式 labs(title = "Correlation Matrix: Control vs Stress Treatments") + theme(plot.title = element_text(hjust = 0.5, size = 14, face = "bold"))
关键调整说明
- 如果你的指标列位置不同,修改
columns参数(比如指标从第3列开始就写3:7) - 可替换
scale_color_manual/scale_fill_manual中的颜色值为你偏好的配色 - 若样本量过大,可进一步降低散点的
alpha值或size值,避免图形过度拥挤
内容的提问来源于stack exchange,提问作者ORBITTING ARYABHATA
相关产品推荐
相关产品推荐

