赞
踩
最近,在阅读文献时,发现有一个图涉及到均值以及相对均值标准差浮动区间的问题,感觉比较有意思,特此记录一下学习过程。
期望实现图片大致如下所示:
图中,红色曲线表示OLR均值线,阴影部分为其±1标准差的浮动区间。
总的来说,思路上比较清晰。先计算OLR在每个bins中的平均值,标准差。然后利用±1的标准填充均值线。
通过查询python的matplotlib绘图参考库,发现填充的功能可以通过fill_between()方法实现。
简单运行一下
#计算出olr平均值以及标准差后,进行绘图
y1=olr_mean+olr_std
y2=olr_mean-olr_std
x=sst
y=olr_mean
#draw
fig=plt.figure(figsize=(8,6))
ax = fig.add_subplot(1,1,1)
ax.plot(x,y,'r',linewidth=3) #绘制图中的均值线
#下面绘制填充区间
ax.fill_between(x, y1, y2,alpha=0.3,facecolor='r', where=y2 >= y1, interpolate=True)
ax.fill_between(x, y1, y2, alpha=0.3,facecolor='r',where=y2 <= y1, interpolate=True)
总体来说实现了需求,具体细节方面可以稍加改善。
怎么样,是不是很容易呢!感兴趣的小伙伴可以尝试一下~
一个努力学习python的海洋小白
水平有限,欢迎指正!!!
欢迎评论、收藏。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。