什么是矩阵散点图
当我们想要探索两组变量之间的关系时,矩阵散点图是一种有用的可视化工具。它能够帮助我们快速地观察多个变量之间的关联性,特别是在统计分析和数据挖掘领域中。矩阵散点图实际上是由多个散点图组成的矩阵,每个散点图表示两个不同变量之间的关系。
绘制矩阵散点图
1.matplotlib
绘制矩阵散点图
matplotlib
没有提供现成的库函数,但是可以通过创建子图然后绘制散点图的方式来绘制heatmap
图
step1: 绘制多个子axe
step2: for循环绘图(非对角线scatter
图, 对角线什么其他图),同时还得注意label,哪些位置该显示label,哪些不显示
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import 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 sns
import matplotlib.pyplot as plt
# 示例数据
iris = sns.load_dataset('iris')
# 创建矩阵散点图
sns.pairplot(iris, hue='species')
plt.show()
标签:iris,矩阵,散点图,ax,绘制,columns
From: https://www.cnblogs.com/slbaba/p/17662032.html