这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战
复习回顾
matplotlib 是Python专门提供绘制功能的库,我们前面也学习pyplot提供绘制折线、散点、柱状、直方、饼图等常见的图像外,还提供animation类绘制动态图。同时对特殊的图表如应用在物理学上的量场图、关注数据分布情况的箱型图等。以上所述的往期文章例举如下。
- pyplot.boxplot()方法绘制箱型图,用于展示数据的分布情况:matplotlib 绘制箱型图
- pyplot.quiver()方法绘制量场图,常用于电磁场分析:matplotlib 绘制量场图
- pyplot.ion()交互模式结合for循环可以绘制动态图:matplotlib 绘制动态图
- 使用animation类绘制数据动态图:matplotlib Animation类
继上次我们学习能快速展示一组数据的中位数、上下四分位数、最大小值的箱型图pyplot.boxplot()方法。同样表示数据分布情况的还有一个图形提琴图。
本期,我们学习matplotlib.pyplot.violinplot绘制提琴图相关属性学习,Let’s go~
- 什么是提琴图?
+ 提琴图是外形类似提琴,具有箱型图和密度图的特征
+ 提琴图是用来显示数据分布和出现概率的密度
+ 提琴图同展示一组数据的中位数、四分位数范围、密度、95%置信区间
- 提琴图应用场景
+ 提琴图可以用于比较不同样本之间的密度分布情况
+ 提琴图可用于显示数据完整的分布情况
+ 提琴图常用于在制作精确图表前对离散数据整理
+ 提琴图通常用于基因样本分布、人口年龄分布等等
- 获取提琴图方法
1 | python复制代码import matplotlib.pyplot as plt |
- 设置提琴图位置
+ 关键字:vert
+ 默认值为:True
+ 当vert为True时则创建垂直提琴图
+ 当vert为False时则创建水平提琴图
- 设置提琴宽度
+ 关键字:width
+ 默认值为:0.5
- 设置提琴数据
+ 设置显示均值关键字:showmeans,默认为False
+ 设置显示极值关键字:showextrema,默认为True
+ 设置显示中值关键字:showmedians,默认为False
- 设置提琴样式
+ 需要使用pyplot.violinplot()返回字段“bodies”
+ 结合for循环遍历pyplot.violinplot()["bodies"]
+ 调用set\_facecolor设置提琴颜色
+ 调用set\_edgecolor设置提琴边框颜色
+ 调用set\_alpha设置提琴图透明度
+ 调用set\_linestyle设置提琴边框样式
- 导入matplotlib.pyplot类
1 | python复制代码import matplotlib.pyplot as plt |
- 使用numpy库里的normal(),random(),randint()等方法准备data数组向量序列
1 | python复制代码data = [np.random.normal(0,2,100)] |
- 调用pyplot.violinplot(data)方法绘制提琴
1 | python复制代码part = plt.violinplot(data,showmedians=True) |
- 调用pyplot.show()方法渲染显示提琴图表
1 | python复制代码plt.show() |
- 通过使用yplot.violinplot()方法返回值,设置提琴图的颜色、边框样式等
1 | python复制代码for pc in part["bodies"]: |
我们学习以matplotlib提供的绘制提琴图violinplot()方法后,我们来实操一下与scatter结合
- 调用pyplot.grid()方法为画布添加网格
- 调用numpy.percentile()计算下四分为数,均值数,上四分为数
- 调用pyplot.scatter()在提琴图上标记均值的符号
- 调用pyplot.vline()在提琴图上标记四分位数
1 | scss复制代码data = [np.random.normal(0,i,100) for i in range(2,6)] |
总结
本期,我们对matplotlib.pyplot.violinplot()方法绘制提琴图相关属性。提琴图结合箱型图和密度图的特点,不仅展示数据的分布情况,还对数据的密度情况也展示出来。
以上是本期内容,欢迎大佬们点赞评论,下期见~
本文转载自: 掘金