python画图|errorbar初探
【1】引言
在不断的学习进程中,关于error的部分不可避免。
我暂时将其粗浅理解为:误差不可避免,因此曲线一定会长出毛毛。
基于此,我们先开始认识以下errorbar函数。
【2】官网教程
官网通过下述链接直达:
https://matplotlib.org/stable/gallery/statistics/errorbar.html#sphx-glr-gallery-statistics-errorbar-py
在这里我们看到曲线上有毛毛,非常类似之前设置过的ticks,相关文章点击下述链接直达:
python画图|我的曲线长毛毛了(TickedStroke patheffect)-CSDN博客
为了解读官网教程,我对代码增加了注释。
【3】代码解读
首先引入画图和计算模块:
import matplotlib.pyplot as plt #引入画图模块 import numpy as np #引入计算模块
然后定义变量:
x = np.arange(0.1, 4, 0.5) #定义自变量范围 y = np.exp(-x) #定义因变量范围
之后定义画图,并输出errorbar图:
fig, ax = plt.subplots() #定义要画图 ax.errorbar(x, y, xerr=0.2, yerr=0.4) #定义画errorbar图 plt.show() #输出图形
在这里我们看到ax.errorbar()函数被直接调用,本文的主要研究对象就是该函数,函数具体介绍页面通过下述链接直达:
https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.errorbar.html#matplotlib.axes.Axes.errorbar
这里我们只需要重点关注 Axes.errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None)这几个参数。
x, y:画图用的自变量和因变量;
yerr, xerr:因变量误差,自变量误差
fmt:本来要画曲线的类型,由点线、实线等多种
ecolor:误差线的颜色,如果不设置就和本来要画的曲线一个颜色。
运行代码的输出图形为:
图1
增加注释后的完整代码为:
import matplotlib.pyplot as plt #引入画图模块
import numpy as np #引入计算模块# example data
x = np.arange(0.1, 4, 0.5) #定义自变量范围
y = np.exp(-x) #定义因变量范围fig, ax = plt.subplots() #定义要画图
ax.errorbar(x, y, xerr=0.2, yerr=0.4) #定义画errorbar图
plt.show() #输出图形
【4】代码修改
【4.1】fmt设置
首先尝试设置曲线的线型,即设置fmt:
ax.errorbar(x, y, xerr=0.2, yerr=0.4,fmt='-.') #定义画errorbar图
运行后的输出图形为:
图2
【4.2】ecolor设置
然后设置误差线的线型,即设置ecolor:
ax.errorbar(x, y, xerr=0.2, yerr=0.4,fmt='-.',ecolor='green') #定义画errorbar图
运行后的输出图形为:
图3
图3输出了预期的图像。
【5】代码完善
从图像观感上看,较大的Y轴误差yerr占据大量的区域,如果显示确实如此,那其实无法改变。
但在学习的进程中,尝试修改yerr的值,观察图像有何变化。
首先将yerr的值改为0.1:
ax.errorbar(x, y, xerr=0.2, yerr=0.1,fmt='-.',ecolor='green') #定义画errorbar图
运行代码后的输出为:
图4
由图4可见,Y轴方向的误差线确实变短。
下一步给图像增加名称,病危了增加对比把误差线改为品红色:
ax.errorbar(x, y, xerr=0.2, yerr=0.1,fmt='-.',ecolor='m') #定义画errorbar图 ax.set_title('learn-errorbar-aixmls')
此时的输出图像为;
图5
【6】总结
掌握了errorbar()函数的使用技巧。