如何为pandas列中的每个类别创建具有子图的图

wi3ka0sx  于 2023-06-04  发布在  其他
关注(0)|答案(2)|浏览(148)

我有一个Pandasdf,我想在一个显示器与海运阴谋。我有一个变量要绘图,A,和一个变量色调,B。问题是B变量有ca。50个不同的值,所以我想自动创建一个网格的每个子图,说5列和必要的行数。
现在我只能将图放在行或列中,其中:

sns.displot(data=df, x="A", col="B")

sns.displot(data=df, x="A", row="B")

有没有办法达到预期的效果?

b0zn9rqh

b0zn9rqh1#

你在找col_wrap吗?
col_wrapint

将column变量按此宽度换行,使column facet跨越多行..

g = sns.displot(data=df, x="A", col="B", hue="B", col_wrap=5, height=3, aspect=1)

g.fig.tight_layout()

plt.show();

输出:

  • 使用的输入:*
from string import ascii_uppercase

np.random.seed(1)

df = pd.DataFrame({
    "A": np.random.randn(1000),
    "B": np.random.choice([*list(ascii_uppercase[-10:])], 1000)
})
7lrncoxx

7lrncoxx2#

# plot the dataframe
ax = df.plot(kind='hist', by='B', bins=20, layout=(2, 5), figsize=(15, 6), legend=False, ec='k', sharey=True, sharex=True)

相关问题