如何在seaborn配对图上绘制标识线?

时间:2018-01-05 22:13:18

标签: python seaborn

我正在使用Seaborn的配对图:

g = sns.pairplot(df)

enter image description here

是否可以在每个散点图上绘制标识线?

1 个答案:

答案 0 :(得分:2)

定义一个函数,该函数将绘制当前轴上的标识线,并使用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)

这会在我的设置上生成以下图表。你可以调整plot_unity函数的kwargs来设置你想要的样式。

enter image description here