喜提“Major Revision”:被审稿人质疑堆工作量,亮出“这张图”回应……
本期主角-Matrix plot,用于展示数据中各变量两两之间关系,可以规避单一统计指标的偏差,可以在平面上快速优雅的探索高维数据。一句话,一张Matrix plot实现多张图的效果,探索了数据,避免了“堆图堆工作量”的嫌疑!
上图为一张典型的Matrix plot,如何读图了,由三部分构成:
上三角,使用散点图,展示两两变量之间的关系,不同颜色标记出了不同的性别 对角线,使用直方图,展示4个变量独自的分布,不同颜色标记出了不同的性别 下三角,使用kdeplot,展示两两变量之间的关系,不同颜色标记出了不同的性别
本次使用R实现Matrix plot。
静态矩阵图
使用ggplot2扩展实现Matrix plot,一行代码即可实现,
## 16.1_01
# 未经过允许禁止转载!
# @Author : 公众号:pythonic生物人
# @Desc : 16.1 矩阵图(GGally方法)
ggpairs(iris_data, aes(color = species, fill = species))
上图包含25张图,如果不使用Matrix plot,一个一个展示,确实有“堆工作量”的嫌疑😭😭!
下面使用“1~14章节”的ggplot2基础知识,进一步定制符合自己审美的Matrix plot,
## 16.1_02
# 未经过允许禁止转载!
# @Author : 公众号:pythonic生物人
# @Desc : 16.1 矩阵图(GGally方法)
ggpairs( # 🔸使用GGally中的ggpairs绘制矩阵图
iris_data,
aes(color = species, fill = species), # 全局映射颜色和填充至 species
upper = list(
continuous = wrap("smooth", # 🔸上三角回归线
method = "lm", # 线性模型
se = TRUE, # 无置信区间
size = 1, # 回归线宽度
alpha = 0.8
) # 透明度突出曲线
),
diag = list(
continuous = wrap("densityDiag", # 🔸对角线密度图
alpha = 0.6, # 半透明填充
size = 0.3
) # 线条粗细适中
),
lower = list(
continuous = wrap("points", # 🔸下三角散点图
shape = 21, # 带填充的圆点
size = 1, # 适度增大点的大小
alpha = 0.7, # 透明度柔化重叠
stroke = 0.3
) # 细轮廓线增强对比
),
)
交互矩阵图
上一节的矩阵图为静态展示,这里介绍一种交互式方法scatterPlotMatrix,通过简单的鼠标点击即可实现代码的功能。
## 16.2_01
# 未经过允许禁止转载!
# @Author : 公众号:pythonic生物人
# @Desc : 16.2 交互矩阵图
library(ggplot2)
library(scatterPlotMatrix)
iris_data$species <- as.factor(iris_data$species)
scatterPlotMatrix(iris_data, controlWidgets = TRUE, width = 800, height = 700)
通过简单的鼠标点击即可实现代码的功能,非常方便。同时,点击图能快速预览当前位置的xy变量实际值。
iris_data数据
iris_data使用“1.4.8 iris数据集”,
测试数据+详细代码,后期会加入👉《保姆级R可视化教程》
加入学习(收费,备注:299)
(加入学习,收费,备注:299)