如何在单图中绘制Pandas DataFrame全列及分类分组的箱线图?
实现同一图表中展示整体与分类分组的箱线图
你可以通过构造包含“整体”类别的合并数据集,在同一个图表中同时展示整列的箱线图和按分类分组的箱线图,无需拆分到子图。具体实现如下:
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # 构造包含"整体"类别的新数据 df_full = df.copy() df_full['cat_column'] = '整体' combined_df = pd.concat([df_full, df], axis=0) # 绘制整合后的箱线图 plt.figure(figsize=(10, 6)) sns.boxplot(data=combined_df, x='cat_column', y='num_column') plt.title('整体与各分类的数值列箱线图') plt.xlabel('类别') plt.ylabel('num_column') plt.show()
说明:
- 先复制原数据集,将其中的
cat_column统一替换为“整体”,代表整列数据的分组 - 将标记好的“整体”数据集与原数据集合并,这样合并后的
cat_column会包含“整体”和原有的所有分类层级 - 直接用Seaborn绘制合并后数据集的箱线图,x轴会自动包含“整体”和各分类,所有箱线图就会在同一图表中展示,方便对比
内容的提问来源于stack exchange,提问作者Fredrik
相关产品推荐
相关产品推荐

