Python matplotlib 绘制箱型图
复习回顾
matplotlib 是非常强大的模块,包含绘制图形类、制作动画类、图形处理类等,我们前面也已经对pyplot类折线、柱状等常见图的绘制方法的学习,继上一节我们也学习了应用在物理比较多的量场图的绘制方法,往列举几篇期文章如下。
在matplotlib模块中,量场图是常应用在物理学上,而箱型图更多在统计数据上应用。
本期,我们将学习matplotlib.pyplot.boxplot()相关方法属性的学习,let's go~
1. 箱型图概述
-
什么是箱型图?
- 箱型图外观如箱子,又名为盒须图、盒式图或者箱线图。
- 箱线图是一种用作于显示一组数据分散情况资料的统计图
- 箱型图能显示一组数据的最大值、最小值、中位数,及上下四分位数六个数据点
-
箱型图应用场景
- 箱型图由于能显示一组数据分散情况,常用于品质管理
- 箱型图有利于数据的清洗,能快速知道数据分别情况
- 箱型图有助于分析一直数据的偏向如分析公司员工收入水平
-
使用箱型图方法
import matplotlib.pyplot as plt plt.boxplot(x)
2. 箱型图属性
-
设置箱型凹凸
- 关键字:notch
- 默认值为:False,显示非凹凸型
-
设置箱型位置
- 关键字:vert
- 默认值为:True
- 当vert设置为True时,绘制垂直框
- 当vert设置为False时,绘制水平框
-
设置箱体颜色填充
- 关键字:patch_artist
- 默认位置为:False
- 当patch_artist为False,为Line2D artist
- 当patch_artist为True,为Patch artist,可填充颜色
-
设置箱型均值样式
- 关键字:meanline
- 默认值为:False
- 当meanline为False,不显示均值线
- 当meanline为True,且showmeans=True 均值线会以虚线的形式显示
-
设置箱型边框显示
- 设置箱型末端显示关键字:showcaps
- 设置箱型箱体显示关键字:showbox
- 默认值为:True
3. 绘制箱型图步骤
- 导入matplotlib.pyplot类
import matplotlib.pyplot as plt
- 使用numpy库里的arange(),random()等方法准备x数组向量序列
x = np.arange(10,20,5)
- 调用pyplot.boxplot()方法绘制箱型图,显示中位数(红色)和均值线(虚线)
plt.boxplot(x,meanline=True,showmeans=True,labels=["A"])
- 最后调用pyplot.show()渲染打印出箱型图
4. 小试牛刀
学习以上箱型相关属性和绘制步骤,我们来绘制一组数据箱型图并填充不同的颜色
-
调用numpy.random.randint()准备5组数据
-
使用字典形式定义箱型样式boxprops属性
-
使用字典形式定义箱型均值样式meanprops属性
x = np.random.randint(10,100,size=(5,5))
box = {"linestyle":'--',"linewidth":3,"color":'blue'}
mean = {"marker":'o','markerfacecolor':'pink','markersize':12}
plt.boxplot(x,meanline=True,showmeans=True,labels=["A","B","C","D","E"],boxprops=box,meanprops=mean)
plt.show()
- 如果箱型要填充颜色,则需要使用patch_artist 属性设置为True
b = plt.boxplot(x,meanline=True,showmeans=True,labels=["A","B","C","D","E"],boxprops=box,meanprops=mean,patch_artist=True)
for c in b["boxes"] :
c.set(color="lightblue")
总结
本期,我们对matplotlib.pyplot 提供boxplot()绘制箱型图相关属性进行学习。对于箱型图更有利于快速知道一组数据的分布情况。
以上是本期内容,欢迎大佬们点赞评论,下期见~
转载自:https://juejin.cn/post/7034498266351960100