matplotlib:每个类别的方框图

时间:2018-02-09 18:47:31

标签: pandas matplotlib boxplot

我的pandas数据框有两列:categoryduration。和 我使用以下代码制作所有数据点的方框图。

import matplotlib.pyplot as plt
plt.boxplot(df.duration)
plt.show()

但是,如果我想在每个category前面有一个方框,我该如何修改上述代码?谢谢!

2 个答案:

答案 0 :(得分:3)

除了Wen's answer之外,您还可以查看the seaborn library。这是为了做这种情节。

  

Seaborn是一个基于matplotlib的Python可视化库。它   为绘制有吸引力的统计数据提供了一个高级界面   图形。

检查documentation for boxplots

  

绘制方框图以显示与类别相关的分布。

sns.boxplot(data=df, x='category', y='duration')

enter image description here

答案 1 :(得分:2)

我们可以用pandas

来做
#df=pd.DataFrame({'category':list('aacde'),'duration':[1,3,2,3,4]}) sample data
df.assign(index=df.groupby('category').cumcount()).pivot('index','category','duration').plot(kind='box')

enter image description here