Matplotlib Pairs函数介绍

Matplotlib Pairs函数介绍

在R语言中,pairs函数可用于绘制多个变量之间的散点图矩阵。Matplotlib同样也提供了这样的一种方法来可视化多个变量之间的相关关系。在本文中,我们将会探讨在Matplotlib中如何使用scatter_matrix函数绘制散点图矩阵,并提供一些实例来说明如何使用该函数。

阅读更多:Matplotlib 教程

scatter_matrix函数

scatter_matrix函数允许我们绘制变量集合的散点图矩阵。下面是该函数的基本用法:

import matplotlib.pyplot as plt
import pandas as pd

# 载入数据
iris = pd.read_csv('iris.csv')

# 删掉无用列
iris = iris.drop(columns = ['Id'])

# 设置散点图的颜色以及对角线图的类型
colors = ['red','green','blue']
scatter_matrix = pd.plotting.scatter_matrix(iris, alpha=1, figsize=(15,15), diagonal='hist', c=[colors[i] for i in iris['Species'].cat.codes])

# 调整坐标轴的标签字体以及旋转角度
[s.xaxis.label.set_rotation(45) for s in scatter_matrix.reshape(-1)]
[s.yaxis.label.set_rotation(0) for s in scatter_matrix.reshape(-1)]

# 调整坐标轴位置以及间距
[s.get_yaxis().set_label_coords(-0.5,0.5) for s in scatter_matrix.reshape(-1)]
[s.get_xaxis().set_label_coords(0.5,-0.5) for s in scatter_matrix.reshape(-1)]

plt.show()

还可以使用参数marker来更改散点图的形状,如下所示:

colors = ['red','green','blue']
scatter_matrix = pd.plotting.scatter_matrix(iris, alpha=1, figsize=(15,15), diagonal='hist', c=[colors[i] for i in iris['Species'].cat.codes], marker='.')

也可以把对角线上的直方图替换成核密度图,方法如下:

from scipy.stats import gaussian_kde

fig, axs = plt.subplots(nrows=4, ncols=4, figsize=(15,15))
fig.subplots_adjust(hspace=0.05, wspace=0.05)

colors = ['red','green','blue']
for ax, color in zip(axs.flat, colors):
    ax.hist(iris['PetalWidthCm'], bins=15, color=color)
    ax.yaxis.set_visible(False)
    ax.xaxis.set_visible(False)

    # 添加核密度图
    kernel = gaussian_kde(iris['PetalWidthCm'])
    x = np.linspace(0,1.5,100)
    ax.plot(x,kernel(x), color='k')

fig.show()

总结

本文介绍了如何使用Matplotlib的scatter_matrix函数绘制多个变量之间的散点图矩阵,并提供了一些实例来说明如何利用该函数绘制优质的散点图矩阵。在实践中,我们还可以根据数据集的特点,灵活调整相应的函数参数,达到更好的绘图效果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程