如何调整seaborn catplot的大小

2024-04-25 14:34:47 发布

您现在位置:Python中文网/ 问答频道 /正文

为了调整Seaborn地物级别图的大小,我一直遵循以下惯例:

fig, ax = plt.subplots(figsize=(10,5))
sns.catplot(x='xdata', y='ydata', data=df, kind='swarm', ax=ax)

这也适用于catplot,但会生成第二个完全空白的绘图。这是Seaborn的一个bug(还是我做错了什么)?是否有任何方法可以在不获得第二个空白绘图的情况下正确调整此绘图的大小(当我说空白绘图时,我指的是没有数据的绘图,只是与第一个绘图相同的轴标签)


Tags: 绘图figpltseabornax级别空白sns
1条回答
网友
1楼 · 发布于 2024-04-25 14:34:47

考虑不要调用^ {< Cd1>},使用高度方面参数,因为这个SaBun factorplot solution显示了什么方面是高度的宽度倍数,可能保持维度一致:

sns.catplot(x='xdata', y='ydata', data=df, kind='swarm', height=5, aspect=2)

help(sns.catplot)输出:

height : scalar, optional
        Height (in inches) of each facet. See also: ``aspect``.

aspect : scalar, optional
    Aspect ratio of each facet, so that ``aspect * height`` gives the width
    of each facet in inches.

要用随机数据演示:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

np.random.sample(71318)
df = pd.DataFrame({'xdata': np.random.choice(['pandas', 'r', 'julia', 'sas', 'spss', 'stata'], 100),
                   'ydata': np.random.choice(range(1,6), 100)})

sns.catplot(x='xdata', y='ydata', data=df, kind='swarm', height=5, aspect=2)

plt.show()
plt.clf()
plt.close()

Seaborn Plot Output

相关问题 更多 >