如何绘制非正方形Seaborn jointplot或JointGrid

我试图用Seaborn的JointGrid绘制我的非对称数据.我可以使用相同的宽高比,但后来我有不需要的空格:

如何绘制非正方形Seaborn jointplot或JointGrid

你如何删除填充? jointplotJointGrid的文档简单地说

size : numeric, optional

Size of the figure (it will be square).

我也试着将kwarg的范围喂给关节图和JointGrid,以及没有运气的ylim.

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
x = np.random.normal(0.0, 10.0, 1000)
y = np.random.normal(0.0, 1.0, 1000)
joint = sns.jointplot(x, y)
joint.plot_marginals(sns.distplot, kde=False)
joint.ax_joint.set_aspect('equal')  # equal aspect ratio
plt.show() 

解决方法:

偶然发现这个问题,我自己寻找答案.弄清楚了,我以为我会发布解决方案.由于联合情节代码似乎非常坚持拥有数字方形我不知道这是否被认为是不好的做法,但无论如何……

如果我们查看jointplot代码并将其跟随到JointGrid中,则在以下表达式中使用jointplot(和JointGrid)的size参数:

f = plt.figure(figsize=(size, size))
# ... later on
self.fig = f

因此,要获得非方形的JointGrid图,只需运行:

grid = sns.jointplot(...)
grid.fig.set_figwidth(6)
grid.fig.set_figheight(4)
grid.savefig("filename.png", dpi=300)

对于一个6×4的数字.

上一篇:Python进行数据可视化的9种常见方法,总有一种是你要用的


下一篇:如何在Subplot中绘制多个Seaborn Jointplot