六边形联合图的Seaborn成对矩阵

afr*_*iro 4 python plot matplotlib seaborn

我正在尝试生成一个比较分布矩阵,比较分布(类似这样).由于我有很多点,我想使用hexbin图来减少时间和绘图的复杂性.

import seaborn as sns
import matplotlib.pyplot as plt


tips = sns.load_dataset("tips")

g = sns.FacetGrid(tips, col="time", row="sex")
g.map(sns.jointplot, "total_bill", "tip", kind="hex")
plt.show()
Run Code Online (Sandbox Code Playgroud)

然而,不是创建绘图矩阵,而是在各种窗口中独立创建多个绘图.

我也想过seaborn.pairplot用来制作这个,但我不能传递"hex"给它kind.

mwa*_*kom 7

见最后一个例子在教程中使用自定义功能FacetGrid,我将在这里重现:

def hexbin(x, y, color, **kwargs):
    cmap = sns.light_palette(color, as_cmap=True)
    plt.hexbin(x, y, gridsize=15, cmap=cmap, **kwargs)

g = sns.FacetGrid(tips, hue="time", col="time", size=4)
g.map(hexbin, "total_bill", "tip", extent=[0, 50, 0, 10])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述