python boxplot的使用方法

一直以来使用MATLAB绘制科技论文,确实延长了程序猿的寿命,但是

(1)随着MATLAB体积越来越大,仅仅是为了绘图的话实在吃不消了

(2)关于group boxplot没有合适的绘制函数

注:第(2)点可以使用aboxplot增强库解决http://alex.bikfalvi.com/research/advanced_matlab_boxplot/

同时最新版的boxplot更新为boxchart已经解决https://www.mathworks.com/help/matlab/ref/boxchart.html

====================================================

不过随着Python的流行,我也逐渐转向了这个轻巧的工具

现纪录下使用Matplotlib绘制group boxplot的demo,以便后续查找

import matplotlib 
import matplotlib.pyplot as plt 
import numpy as np

matplotlib.rcParams['font.sans-serif']=['SimHei'] 
matplotlib.rcParams['axes.unicode_minus']=False

N=8

x1=np.random.randn(3,N) 
x2=np.random.randn(3,N)

bplot1=plt.boxplot(x1,patch_artist=True,boxprops = {'color':'orangered','facecolor':'pink'},widths=0.3,positions=[x+1-0.15 for x in range(N)])

bplot2=plt.boxplot(x2,patch_artist=True,boxprops ={'color':'orangered','facecolor':'Azure'},widths=0.3,positions=[x+1+0.15 for x in range(N)])

x_tick_label=[ chr(ord('a')+x) for x in range(N)] 
plt.xticks([a+1 for a in range(N)],x_tick_label)

plt.legend(handles=[bplot1["boxes"][0],bplot2["boxes"][0]],labels=['第一组','第二组'])

plt.grid(linestyle=":",color="red") 
plt.title('组分类的boxplot') 
plt.show()`


代码很清晰,主要的点在于position属性的设置

上一篇:python – 使用matplotlib将点的散点添加到boxplot


下一篇:MySQL 视图(合并多表数据)引发的严重性能问题