如何修改Matplotlib代码为Pandas DataFrame每个类别绘制箱线图?
嗨,这个需求其实很容易实现~不管你是用Pandas原生的绘图功能,还是更美观的Seaborn库,都能快速搞定每个类别单独的箱线图,我给你两种常用方案:
方案1:使用Pandas原生箱线图功能
如果你之前已经在使用Pandas的绘图方法,只需要在boxplot()方法里添加by='category'参数,就能自动按类别分组绘制箱线图:
import pandas as pd # 假设你的DataFrame名为df,包含category和duration两列 df.boxplot(column='duration', by='category')
这个参数会自动帮你完成分组,每个category对应一个独立的箱线图,同时自动生成合适的坐标轴标签和分组标题。
方案2:使用Seaborn绘制更美观的分组箱线图
如果想要更美观的可视化效果,Seaborn库的boxplot()函数会更方便,直接指定x轴为类别列、y轴为时长列即可:
import seaborn as sns import matplotlib.pyplot as plt # 按category分组,绘制duration的箱线图 sns.boxplot(x='category', y='duration', data=df) plt.title('Duration Distribution by Category') # 添加标题 plt.xlabel('Category') # 自定义x轴标签 plt.ylabel('Duration') # 自定义y轴标签 plt.xticks(rotation=45) # 旋转x轴标签,避免类别名称过长时重叠 plt.show()
Seaborn默认的样式更精致,还能轻松调整颜色、主题等细节,适合需要更专业可视化的场景。
内容的提问来源于stack exchange,提问作者Edamame
相关产品推荐
相关产品推荐

