python – 用于错误栏图的Matplotlib set_data
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 用于错误栏图的Matplotlib set_data,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1677字,纯文字阅读大概需要3分钟。
内容图文
![python – 用于错误栏图的Matplotlib set_data](/upload/InfoBanner/zyjiaocheng/779/8f78fe2135ea4e12a199e81678d24a34.jpg)
Matplotlib的line2D对象,例如通过调用plot返回的对象,有一个方便的方法set_data,让我快速更新由单行绘制的值,而不会影响绘图的其余部分或行的格式.
#sample plot
from matplotlib.pyplot import plot
p = plot(arange(10),arange(10))[0]
#now update the data
p.set_data(arange(10),arange(10)+2)
draw()
有没有相对简单(几行代码)的方法来做同样的错误栏图?我希望能够使用各种文本,箭头,线条等设置复杂的绘图,然后通过几组不同的数据快速循环绘图的错误栏部分.
错误栏返回的对象似乎相当复杂,到目前为止,我删除和重绘的尝试都失败了.
解决方法:
感谢the help from @tacaswell.
下面是python函数,可以更新xerr和yerr,以及基线绘图的x_data和y_data:
def adjustErrbarxy(self, errobj, x, y, x_error, y_error):
ln, (errx_top, errx_bot, erry_top, erry_bot), (barsx, barsy) = errobj
x_base = x
y_base = y
xerr_top = x_base + x_error
xerr_bot = x_base - x_error
yerr_top = y_base + y_error
yerr_bot = y_base - y_error
errx_top.set_xdata(xerr_top)
errx_bot.set_xdata(xerr_bot)
errx_top.set_ydata(y_base)
errx_bot.set_ydata(y_base)
erry_top.set_xdata(x_base)
erry_bot.set_xdata(x_base)
erry_top.set_ydata(yerr_top)
erry_bot.set_ydata(yerr_bot)
new_segments_x = [np.array([[xt, y], [xb,y]]) for xt, xb, y in zip(xerr_top, xerr_bot, y_base)]
new_segments_y = [np.array([[x, yt], [x,yb]]) for x, yt, yb in zip(x_base, yerr_top, yerr_bot)]
barsx.set_segments(new_segments_x)
barsy.set_segments(new_segments_y)
第一个输入参数(self用于python类)是已经创建的错误栏图处理程序,它也是需要更新其属性的对象; x和y是更新的numpy数组,应该显示沿x和y轴的平均值;最后两个参数x_error和y_error是为x和y数组计算的误差范围.如果只需要更新错误栏,则x_base和y_base应分别写为ln.get_xdata()和ln.get_ydata().
到目前为止,matplotlib中错误栏更新的解决方案确实非常重要,希望在未来版本中更容易.
内容总结
以上是互联网集市为您收集整理的python – 用于错误栏图的Matplotlib set_data全部内容,希望文章能够帮你解决python – 用于错误栏图的Matplotlib set_data所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。