类似于用Seaborn绘制boxplot的replot和displot



在Seaborn relplot和displot中,有一个名为col_wrap的设置,它允许在与变量级别对应的行和列的网格中排列多个轴。

relplot可以选择plotscatterline时,displot可以选择绘制histkdeecdf

目前,我必须依靠以下代码来绘制与变量

级别对应的行和列的网格
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="ticks")
tips = sns.load_dataset("tips")
plt.figure(figsize=(15,10))
variables=['Lunch','Dinner']
for i, c in enumerate(variables, 1):
filter_ch = tips ["time"].isin ( [c] )
dv = tips [filter_ch].reset_index ( drop=True )
plt.subplot(2,1,i)
g = sns.boxplot(x='sex', y="total_bill",hue='day',data=dv)

plt.show()

我在网上搜索了类似于relplotdisplot的东西来绘制boxplot,但无济于事。如果存在这样的方法,如果有人能告诉我合适的材料,我将不胜感激。

另外,由于在实际操作中,variables将多于两个,因此是否有比使用上述建议的代码更紧凑和适当的方法?

显然,诀窍是使用catplot

sns.catplot(data=tips, x="sex", y="total_bill", hue="day", col="time", kind="box",col_wrap=1)

最新更新