为了调整 Seaborn 图形级图的大小,我一直遵循以下约定:
fig, ax = plt.subplots(figsize=(10,5))
sns.catplot(x='xdata', y='ydata', data=df, kind='swarm', ax=ax)
Run Code Online (Sandbox Code Playgroud)
这也适用于猫图,但它会生成第二个完全空白的图。这是 Seaborn 中的错误(还是我做错了什么)?有什么方法可以在不获得第二个空白图的情况下正确调整该图的大小(当我说空白图时,我的意思是没有数据的图与第一个图的轴标签相同)?
Par*_*ait 13
考虑不调用subplots和使用height和aspect参数,因为这个 seaborn factorplot 解决方案显示了 aspect 是 height 的宽度倍数,可能保持尺寸一致:
sns.catplot(x='xdata', y='ydata', data=df, kind='swarm', height=5, aspect=2)
Run Code Online (Sandbox Code Playgroud)
从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.
Run Code Online (Sandbox Code Playgroud)
用随机数据演示:
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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8161 次 |
| 最近记录: |