Python的matplotlib模块中的errorbar函数可以绘制误差棒图,本次主要绘制不带折线的误差棒图。

1.基本参数

errorbar函数的基本参数主要有:

  1. x,y:主要定于二维数据的横纵坐标值

  2. yerr :定义y轴方向的误差棒的大小,可以是一个数,也可以是二维数组(分别传递平均值与最小值的差和最大值与平均值的差)。

  3. xerr:定义y轴方向的误差棒的大小,同样也可以是一个数,也可以是二维数组。

  4. fmt:定义数据折线和数据点的样式。

  5. ecolor:定义误差棒的颜色。

  6. elinewidth:定义误差棒线的宽度。

  7. capsize:定义误差棒帽的大小(长度)。

  8. capthick:定义误差棒帽的宽度。

  9. alpha:设置透明度(范围:0-1)。

  10. marker:设置数据点的样式(具体字母代表的样式可以参考:matplotlib.marker)。在这里插入图片描述

  11. markersize(简写ms):定义数据点的大小。

  12. markeredgecolor(简写mec):定义数据点的边的颜色,可使用官方提供的缩写字母代表的简单颜色,也可以使用RGB颜色和HTML十六进制#aaaaaa格式的颜色(具体可参考matplotlib.colors)。

  13. markeredgewidth( 简写mew ):定义数据点的边的宽度。

  14. markerfacecolor(简写 mfc):定义数据点的颜色。

  15. linestyle:设置折线的样式,设置成none可将折线隐藏。

  16. label:添加图例。

2.代码实现

#导入函数库
import matplotlib.pylab as plt
import numpy as np

#绘制误差棒图
plt.figure(1)
#将数据导入
#导入最小值、最大值
obs_min,obs_max = np.loadtxt('obs_syn_amp_mean.dat', usecols=(8,9), unpack=True)
#导入x以及平均值
x,obs_mean = np.loadtxt('obs_syn_amp_mean.dat', usecols=(1,10), unpack=True)
#设置errorbar的大小
yerr = np.zeros([2,len(obs_mean)])
yerr[0,:] = obs_mean - obs_min
yerr[1,:] = obs_max - obs_mean
#绘制errorbar
plt.errorbar(x,obs_mean,yerr=yerr[:,:],ecolor='k',elinewidth=0.5,marker='s',mfc='orange',\
	mec='k',mew=1,ms=10,alpha=1,capsize=5,capthick=3,linestyle="none",label="Observation")
# 设置坐标轴及图例显示信息
plt.xlabel(r"Distance $(\degree)$", fontsize=15)
plt.ylabel(r"Amplitude Ratio", fontsize=15)
plt.xticks(fontsize=10) 
plt.yticks(fontsize=10) 
plt.legend(fontsize=15)
# 将图片保存在当前目录
fig = plt.gcf()
fig.set_size_inches(8, 10)
fig.savefig('Obs-syn-amp-mean.png', dpi=500)
plt.close()

3.结果显示

在这里插入图片描述

4.更多参数请参考matplotlib官网

我是官网滴传送门~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐