python分组绘制箱型图

python绘制箱型图十分简单,而且有很多种方法可以实现,可以看看这篇文章,多种python箱型图绘制方法。但是奇怪的是网上竟然都搜不到分组绘制箱型图的方法。所谓分组绘制箱型图就是首先对数据进行一个groupby操作,然后对每个group绘制一下箱型图。R的话就用ggplot2就行了,也有很多教程,但是基于python的似乎还没有,实际上基础的plt和dataframe自带的boxplot方法确实是无法分组绘制的,想要实现这个功能需要使用searborn包才可以的。分组绘制箱型图传送门。这个链接中就是seaborn的boxplot的方法,由于是中文的也写的很清楚了,就不做过多解释了。下面贴一下我写的一个分组绘制箱型图代码吧。

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
# plt.rcParams['savefig.dpi'] = 300 #图片像素
# plt.rcParams['figure.dpi'] = 300 #分辨率
# plt.figure(figsize=(50, 5))
sns.boxplot(x='groupfield', y='data', hue='groupfield', data=tmp , color = 'g' , linewidth = 0.5 , fliersize = 1)
sns.despine(offset=10, trim=True)
plt.xticks(rotation=90)
# plt.legend(markerscale = 5 , bbox_to_anchor=(1.4,0.8))
plt.show()

里面的tmp是一个dataframe,有两列。格式类似于下面这样,以上的代码就是实现了以groupfield 这个字段作为分组依据,分组后用data绘制箱型图这样一个功能,十分简单。

groupfield data
A $1600
A $12
B $1

猜你喜欢

转载自blog.csdn.net/qq_39805362/article/details/105379523