2021-12-22看懂 散点图矩阵(pairs plots)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-12-22看懂 散点图矩阵(pairs plots)相关的知识,希望对你有一定的参考价值。

参考技术A 一个 PairGrid 需要填充三个网格部分:上三角、下三角和对角线。

map_upper 是上三角,接受两个变量数组的函数。对角线上下的散点图则展示了变量两两之间的关系。

map_lower是下三角。对角线上下的散点图则展示了变量两两之间的关系。

map_diag 接受单个数组的函数。位于对角线位置的直方图让我们看到了每一个变量的分布。

下三角中使用二维核密度估计(即密度图)

散点图矩阵会构建两种基本图形:直方图和散点图。位于对角线位置的直方图让我们看到了每一个变量的分布,而对角线上下的散点图则展示了变量两两之间的关系。例如,第二行最左侧的散点图展示了 life_exp 和 year 之间的关系。

矩阵的对角线是每个特征的直方图,颜色使用训练集的label

如何组合散点图以形成具有公共 X 轴的散点图矩阵以用于不同的 Y 轴?

【中文标题】如何组合散点图以形成具有公共 X 轴的散点图矩阵以用于不同的 Y 轴?【英文标题】:How do I combine scatterplots to form a scatterplot matrix with common X axis for varied Y axis? 【发布时间】:2021-01-09 05:12:57 【问题描述】:

我的情节是这样的

这是我尝试过的。我制作了单独的散点图并将它们与grid.arrange 组合在一起。

data(methylmercurydata) 
p1 <- ggplot(data=methylmercurydata,aes(x=MeHg, y=logTHg)) + geom_point()
p2 <- ggplot(data=methylmercurydata,aes(x=MeHg, y=OM)) + geom_point()
p3 <- ggplot(data=methylmercurydata,aes(x=MeHg, y=FeRB)) + geom_point()
grid.arrange(p1,p2,p3)

【问题讨论】:

那么您到底希望它是什么样子?如果您包含reproducible example,则更容易为您提供帮助。 methylmercurydata 来自哪个包?如果您使用ggplot2,您可能想要重新塑造您的数据,然后进行分面 【参考方案1】:

最简单的方法可能是在创建更长的表后使用dplyr::facet_wrap()

类似:

library(tidyverse)

methylmercurydata %>%
    pivot_longer(cols = c(logTHg, OM, FeRB), names_to = 'metric') %>%
    ggplot() +
    geom_point(aes(MeHG, value)) +
    facet_wrap(~metric)

编辑:r2evans 提出了一个很好的观点;如果您需要跨 y 的单独比例,您可以在 facet_wrap 调用中使用 scales = 'free_y'。同样,scales = 'free_x' 将提供不同的 x 轴,scales = 'free' 将为每个轴提供不同的比例。重新创建上述绘图时要考虑的另一件事是指定 ncol 参数,在本例中为 ncol = 1

【讨论】:

由于 y 轴有点不同,最好使用facet_wrap(~ metric, scales = "free_y") @r2evans 好点。我编辑了我的回复以包含 scales 参数以及 ncol 参数。【参考方案2】:

我不清楚你所说的“散点图矩阵”是什么意思,但如果你想制作一个相关矩阵,你可以使用 ggforce(例如每个https://ihaddadenfodil.com/post/it-s-a-bird-it-s-a-plane-it-s-a-ggforce-function/):

library(tidyverse)
library(ggforce)
library(palmerpenguins)

ggplot(penguins, aes(col = sex)) +
  geom_autopoint(na.rm = TRUE) +
  facet_matrix(rows = vars(bill_length_mm:body_mass_g),
               switch = "x")

【讨论】:

以上是关于2021-12-22看懂 散点图矩阵(pairs plots)的主要内容,如果未能解决你的问题,请参考以下文章

R语言pairs函数和ggpairs函数可视化实现散点图矩阵图实战

R语言散点图可视化:自定义标题和标签拟合回归线lowess为散点图添加平滑拟合线修改散点图中点颜色和点符号分组散点图添加图例pairs可视化散点图矩阵ggplt2可视化lattice

2018-10-31用R绘制散点图矩阵(成对的散点图)

R语言pairs不能用于类变量吗

R语言数据集探索性数据分析(exploratory data analysis, EDA)示例:所有特征的直方图可视化基于目标变量的分组可视化每个特征的箱图特征的相关性分析pairs散点图矩阵

100天精通Python(可视化篇)——第82天:matplotlib绘制不同种类炫酷散点图参数说明+代码实战(二维散点图三维散点图散点图矩阵)