Python matplotlib 绘制箱型图 复习回顾 1

这是我参与11月更文挑战的第24天,活动详情查看:2021最后一次更文挑战

复习回顾

matplotlib 是非常强大的模块,包含绘制图形类、制作动画类、图形处理类等,我们前面也已经对pyplot类折线、柱状等常见图的绘制方法的学习,继上一节我们也学习了应用在物理比较多的量场图的绘制方法,往列举几篇期文章如下。

在matplotlib模块中,量场图是常应用在物理学上,而箱型图更多在统计数据上应用。

箱型图.png

本期,我们将学习matplotlib.pyplot.boxplot()相关方法属性的学习,let’s go~

  1. 箱型图概述

  • 什么是箱型图?

+ 箱型图外观如箱子,又名为盒须图、盒式图或者箱线图。
+ 箱线图是一种用作于显示一组数据分散情况资料的统计图
+ 箱型图能显示一组数据的最大值、最小值、中位数,及上下四分位数六个数据点![image.png](https://gitee.com/songjianzaina/juejin_p7/raw/master/img/f5dbc592af4690ab97b579aa71e1413a1e7038ea5ca7a0c860e469097dc6a948)
  • 箱型图应用场景

+ 箱型图由于能显示一组数据分散情况,常用于品质管理
+ 箱型图有利于数据的清洗,能快速知道数据分别情况
+ 箱型图有助于分析一直数据的偏向如分析公司员工收入水平
  • 使用箱型图方法

1
2
python复制代码import matplotlib.pyplot as plt 
plt.boxplot(x)
  1. 箱型图属性

  • 设置箱型凹凸

+ 关键字: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
  1. 绘制箱型图步骤

  • 导入matplotlib.pyplot类
1
python复制代码import matplotlib.pyplot as plt
  • 使用numpy库里的arange(),random()等方法准备x数组向量序列
1
python复制代码x = np.arange(10,20,5)
  • 调用pyplot.boxplot()方法绘制箱型图,显示中位数(红色)和均值线(虚线)
1
python复制代码plt.boxplot(x,meanline=True,showmeans=True,labels=["A"])
  • 最后调用pyplot.show()渲染打印出箱型图

image.png

  1. 小试牛刀

学习以上箱型相关属性和绘制步骤,我们来绘制一组数据箱型图并填充不同的颜色

  • 调用numpy.random.randint()准备5组数据
  • 使用字典形式定义箱型样式boxprops属性
  • 使用字典形式定义箱型均值样式meanprops属性
1
2
3
4
5
6
7
8
9
python复制代码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()

image.png

  • 如果箱型要填充颜色,则需要使用patch_artist 属性设置为True
1
2
3
4
5
python复制代码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")

image.png

总结

本期,我们对matplotlib.pyplot 提供boxplot()绘制箱型图相关属性进行学习。对于箱型图更有利于快速知道一组数据的分布情况。

以上是本期内容,欢迎大佬们点赞评论,下期见~

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%