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.
见最后一个例子在教程中使用自定义功能有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)
