(相关资料图)

什么是矩阵散点图

当我们想要探索两组变量之间的关系时,矩阵散点图是一种有用的可视化工具。它能够帮助我们快速地观察多个变量之间的关联性,特别是在统计分析和数据挖掘领域中。矩阵散点图实际上是由多个散点图组成的矩阵,每个散点图表示两个不同变量之间的关系。

绘制矩阵散点图1.matplotlib绘制矩阵散点图

matplotlib没有提供现成的库函数,但是可以通过创建子图然后绘制散点图的方式来绘制heatmap

step1: 绘制多个子axestep2: for循环绘图(非对角线scatter图, 对角线什么其他图),同时还得注意label,哪些位置该显示label,哪些不显示

import numpy as npimport matplotlib.pyplot as pltimport pandas as pdimport seaborn as sns  # 仅用于数据加载# 加载数据集iris = sns.load_dataset("iris")# 选择要绘制的列columns = iris.columns[:-1]  # 去掉species列n = len(columns)fig, axarr = plt.subplots(n, n, figsize=(12, 12))# 用嵌套循环遍历每对变量for i in range(n):    for j in range(n):        ax = axarr[i, j]        if i == j:            # 对角线上的直方图            ax.hist(iris[columns[i]], bins=10, edgecolor="k", color="gray")        else:            # 散点图            ax.scatter(iris[columns[j]], iris[columns[i]], s=15)                # 隐藏每个子图的x和y标签以避免混乱        if j != 0:            ax.set_yticklabels([])            ax.set_ylabel("")        if i != n-1:            ax.set_xticklabels([])            ax.set_xlabel("")        if j == 0:            ax.set_ylabel(columns[i])        if i == n-1:            ax.set_xlabel(columns[j])fig.suptitle("Pairs Plotting for Iris Data", size=30)plt.show()
2. seaborn绘制矩阵散点图

导入seaborn包,直接调用sns.pairplot()绘制矩阵散点图

import seaborn as snsimport matplotlib.pyplot as plt# 示例数据iris = sns.load_dataset("iris")# 创建矩阵散点图sns.pairplot(iris, hue="species")plt.show()

推荐内容