如何使用 pandas 仅绘制散点矩阵的一半

rho*_*ody 0 python matplotlib pandas

我正在使用 pandas scatter_matrix (无法让 seaborn 中的 PairgGrid 工作)来绘制 pandas 框架中一组列的所有组合。每列有 9 列,有 1000 个数据点。

我正在使用以下代码:

pandas.plotting.scatter_matrix(df, alpha=0.2, figsize=(8,8))
Run Code Online (Sandbox Code Playgroud)

我得到如下图所示:

在此输入图像描述

这很好。但是,您会注意到在主对角线上我有一个镜像。是否可以仅绘制下部部分,如我使用油漆制作的以下假图所示:

在此输入图像描述

小智 8

这可能不是最干净的方法,但它有效:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)
axes = pd.plotting.scatter_matrix(iris, alpha=0.2, figsize=(8,8))

for i in range(np.shape(axes)[0]):
    for j in range(np.shape(axes)[1]):
        if i < j:
            axes[i,j].set_visible(False)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述