如何在 seaborn 对偶图上绘制恒等线?

ajw*_*ood 3 python seaborn

我正在使用 Seaborn 的配对图:

g = sns.pairplot(df)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

是否可以在每个散点图上绘制恒等线?

bna*_*ker 8

定义一个函数,该函数将在当前轴上绘制恒等线,并将其应用到网格的非对角轴上,使用PairGrid.map_offdiag()。

例如:

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

def plot_unity(xdata, ydata, **kwargs):
    mn = min(xdata.min(), ydata.min())
    mx = max(xdata.max(), ydata.max())
    points = np.linspace(mn, mx, 100)
    plt.gca().plot(points, points, color='k', marker=None,
            linestyle='--', linewidth=1.0)

ds = sns.load_dataset('iris')
grid = sns.pairplot(ds)
grid.map_offdiag(plot_unity)
Run Code Online (Sandbox Code Playgroud)

这使得我的设置如下图所示。您可以调整函数的 kwargsplot_unity以根据需要设置绘图样式。

在此输入图像描述