当前位置: 首页 > 面试题库 >

如何绘制非方形Seaborn关节图或JointGrid

胡景澄
2023-03-14
问题内容

我正在尝试使用Seaborn的JointGrid绘制非对称数据。我可以使它使用相等的宽高比,但是我有多余的空格:

具有额外空白的Seaborn
2D热图联合图

如何删除填充物?jointplot和JointGrid的文档都只是说

大小:数字,可选

图的大小(将为正方形)。

我也尝试将extentkwarg喂入jointplot和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代码似乎相当坚持要使用正方形,所以我不知道这是否被认为是不好的做法,但是无论如何…

如果我们仔细阅读jointplot代码并将其跟踪到JointGrid,则在以下表达式中将使用size参数to
jointplot(同样JointGrid是):

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)

6x4的数字。



 类似资料:
  • 问题内容: 我开始学习一些用于数据分析的python(使用R)。我正在尝试使用创建两个图,但它始终将第二个保存在第一个上。如何停止这种行为? 问题答案: 为此,您必须开始一个新的图形。假设您有,有多种方法可以做到这一点。也摆脱它,您可以从那里使用。 方法1 采用 方法2 每个人之前致电

  • 有没有一种方法来绘制的CDF累积直方图的熊猫系列在Python中只使用海运?我有以下几点: 我知道我可以用绘制累积直方图,然后我知道我可以使用,但我想在Seaborn中实现这两个功能,就像用,提供kde拟合和直方图。有办法吗?

  • 我有一个名为pct的数据集 我想使用ggplot2或绘图包获得正条形图和负条形图。 给定下表中的数据集 我想得到这样的东西

  • 我有一个直方图,每个面元上有4个不同的对象,它们现在相互堆叠在一起。相反,我需要在同一个直方图框中并排绘制不同的对象(类似于https://matplotlib . org/3 . 1 . 1/gallery/statistics/histogram _ multi hist . html中的左上图): ,等在同一个样本内绘制不同标准的对象(和)。我看的所有示例都与我需要的略有不同,找不到正确的方

  • 我只是试图用DrawOval()方法画圆,当我运行程序时,它只显示小正方形。我试图将构造函数添加到Surface类,但它不起作用。这是我制作的代码:

  • 请问如何绘制圆环,并切除一部分呢? 圆环内部需要透明的以方便放置其他元素