matplotlib基础绘图命令之errorbar的使用


Posted in Python onAugust 13, 2020

在matplotlib中,errorbar方法用于绘制带误差线的折线图,基本用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1)

输出结果如下

matplotlib基础绘图命令之errorbar的使用

yerr参数用于指定y轴水平的误差,同时该方法也支持x轴水平的误差,对应参数xerr。指定误差值有多种方式,上述代码展示的是指定一个统一标量的用法,此时,所以的点误差值都一样。

除此之外,还可以指定为一个和点的个数相同的数组,为每个点单独设置误差值,用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=[1, 2, 3, 4])

输出结果如下

matplotlib基础绘图命令之errorbar的使用

另外,考虑到每个点的上下误差会不同,也支持用行数为2的多维数组来单独指定每个点上下的误差值,用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=[[1,2,3,4],[1, 2, 3, 4]])

输出结果如下

matplotlib基础绘图命令之errorbar的使用

xerr参数的用法和yerr相同,这里不再赘述,示例如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], xerr=1)

输出结果如下

matplotlib基础绘图命令之errorbar的使用

errorbar方法支持同时指定xerr和yerr参数,用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], xerr=0.5, yerr=0.5)

输出结果如下

matplotlib基础绘图命令之errorbar的使用

对于误差图的样式,可以通过以下几个参数来个性化指定

1. fmt

fmt参数的值和plot方法中指定点的颜色,形状,线条风格的缩写方式相同,示例如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='co--')

上述代码同时指定了3个属性,输出结果如下

matplotlib基础绘图命令之errorbar的使用

默认的图中只有线条这一元素,所以当我们指定了点的属性时,如果不指定线条的风格等属性,则对应的属性为空,线条元素不会显示,示例如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='co')

上述代码没有指定线条的风格,输出结果如下

matplotlib基础绘图命令之errorbar的使用

再来看一个例子,示例如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='c')

上述代码只指定了颜色属性,输出结果如下

matplotlib基础绘图命令之errorbar的使用

2. ecolor

ecolor参数指定error bar的颜色,可以和折线的颜色加以区分,用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='co--', ecolor='g')

输出结果如下

matplotlib基础绘图命令之errorbar的使用

3. elinewidth

elinewidth参数指定error bar的线条宽度,用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='ro-',ecolor='k',elinewidth=10)

输出结果如下

matplotlib基础绘图命令之errorbar的使用

4. lims系列参数

lims系列参数用于控制误差线的显示,对于x轴水平的误差线而言,有以下两个参数

1. xuplims

2. xlolims

对于y轴水平的误差线而言,有以下两个参数

1. uplims

2. lolims

这四个参数默认的取值为False, 当取值为True时,对应方向的误差线不显示,同时在另外一个方向上的误差线上,会用箭头加以标识。

当uplims参数的值为True时,向上的误差线不显示,向下的误差线加箭头,用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, uplims=True)

输出结果如下

matplotlib基础绘图命令之errorbar的使用

当lolims参数的值为True时,向下的误差线不显示,向上的误差线加箭头,用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, lolims=True)

输出结果如下

matplotlib基础绘图命令之errorbar的使用

当uplims和lolims参数的值都为True时,双向的误差线都加箭头,用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, uplims=True, lolims=True)

输出结果如下

matplotlib基础绘图命令之errorbar的使用

除了指定为标量外,lims系列参数的值也可以是一个列表,为每个点单独设值,用法如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, uplims=[False, True, False, True], lolims=[True, False, True, False])

输出结果如下

matplotlib基础绘图命令之errorbar的使用

不同的True和False的组合可以实现不同的效果,示例如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=0.5, uplims=[True,True,False,False],lolims=[True,False,True,False])

输出结果如下

matplotlib基础绘图命令之errorbar的使用

和xerr,yerr类似,我们也可以同时指定4个lims参数,示例如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=0.5, uplims=[True,True,False,False],lolims=[True,False,True,False],xerr=0.5, xuplims=[True,False,True,False],xlolims=[True,True,False,False])

输出结果如下

matplotlib基础绘图命令之errorbar的使用

5. errorevery

errorevery参数用于指定误差线的抽样频率,默认情况下,每个点的误差线都会显示,当点很多且密集分布时, 每个点都显示误差线的话,就很难看出有效的信息,比如下图

plt.errorbar(x=range(100), y=range(100),yerr=50)

matplotlib基础绘图命令之errorbar的使用

过于密集的情况下,可以使用errorevery参数进行抽样,基本用法如下

plt.errorbar(x=range(100), y=range(100),yerr=50,errorevery=6)

上述代码表示从第一个点开始,每6个点画一个误差线,这样抽样之后,误差线就不那么密集了,输出结果如下

matplotlib基础绘图命令之errorbar的使用

除了以上几个专属的基本参数外,还有很多的通用参数,可以对errorbar的样式进行精细调整,示例如下

plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, marker='s', mfc='red', mec='green', ms=20, mew=4)

输出结果如下

matplotlib基础绘图命令之errorbar的使用

errorbar的参数较多,熟练掌握常用的几个即可。

到此这篇关于matplotlib基础绘图命令之errorbar的使用的文章就介绍到这了,更多相关matplotlib errorbar内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python 深入理解yield
Sep 06 Python
python模拟登陆Tom邮箱示例分享
Jan 13 Python
Django框架下在视图中使用模版的方法
Jul 16 Python
Python简单删除列表中相同元素的方法示例
Jun 12 Python
Python实现复杂对象转JSON的方法示例
Jun 22 Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 Python
Django项目中实现使用qq第三方登录功能
Aug 13 Python
Python利用全连接神经网络求解MNIST问题详解
Jan 14 Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 08 Python
使用Python爬取小姐姐图片(beautifulsoup法)
Feb 11 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 24 Python
Python如何读写CSV文件
Aug 13 #Python
区分python中的进程与线程
Aug 13 #Python
python判断一个变量是否已经设置的方法
Aug 13 #Python
vscode+PyQt5安装详解步骤
Aug 12 #Python
python使用列表的最佳方案
Aug 12 #Python
Python实现播放和录制声音的功能
Aug 12 #Python
Python实现文件压缩和解压的示例代码
Aug 12 #Python
You might like
针对初学PHP者的疑难问答(2)
2006/10/09 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
php增删改查示例自己写的demo
2013/09/04 PHP
php下载excel无法打开的解决方法
2013/12/24 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
vue全局使用axios的方法实例详解
2018/11/22 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
Python中如何获取类属性的列表
2016/12/26 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
python函数定义和调用过程详解
2020/02/09 Python
python实现扫雷小游戏
2020/04/24 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
Python requests接口测试实现代码
2020/09/08 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
材料成型专业个人求职信范文
2013/09/25 职场文书
设计毕业生简历中的自我评价
2013/10/01 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
技术股份合作协议书
2014/10/05 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript
Mybatis是这样防止sql注入的
2021/12/06 Java/Android
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js