matplotlib 如何可视化全列和每个类别的箱形图

ljo96ir5  于 2023-02-19  发布在  其他
关注(0)|答案(1)|浏览(185)

我想为我的PandasDataFrame制作一个多箱线图,每个cat_column中的每个类别级别的num_column都有不同的箱线图,而整个num_column都有一个箱线图。到目前为止,我所能做的最好的是双子图(一个用于整个列,一个用于每个类别的箱线图):

import seaborn as sns
import matplotlib.pyplot as plt

plt.subplots(1, 2)

plt.subplot(1, 2, 1)
sns.boxplot(data=df, y="num_column")
plt.title("Full Column")

plt.subplot(1, 2, 2)
sns.boxplot(data=df, x="cat_column", y="num_column")
plt.title("Categories")

plt.show()

我想把所有的都放在一个情节里。

ivqmmu1c

ivqmmu1c1#

您可以使用子图、设置编号图和使用ax:

fig, ax = plt.subplots(2, 2, figsize=(18, 20))
plt.subplots_adjust(hspace = 0.8, wspace = 0.3)

sns.boxplot(data=df, x="price", y="squareMeters", ax=ax[0,0])
sns.boxplot(data=df, x="price", y="numberOfRooms", ax=ax[0,1])
sns.boxplot(data=df, x="hasYard", y="price", ax=ax[0,2])

sns.boxplot(data=df, x="hasPool", y="price", ax=ax[1,0])
sns.boxplot(data=df, x="price", y="floors", ax=ax[1,1])
sns.boxplot(data=df, x="price", y="cityCode", ax=ax[1,2])

x和y轴可以读取一列。

相关问题