(相关资料图)
绘制矩阵散点图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()