如何用python画数据图-python怎么对动态数据在同一张图上画出来

阅读: 评论:0

如何⽤python画数据图-python怎么对动态数据在同⼀张图上
画出来
兄弟, 你的需求不是很明确, 我不确定能不能帮到你,
这是我之前在matplotlib官⽹看到的Demo:import numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as animationdef data_gen(t=0):
cnt = 0
while cnt < 1000:
小川藏线最正确路线
cnt += 1
t += 0.1
yield t, np.sin(2*np.pi*t) * np.exp(-t/10.)def init():
ax.set_ylim(-1.1, 1.1)
ax.set_xlim(0, 10) del xdata[:] del ydata[:]
line.set_data(xdata, ydata) return line,
泰国巴厘岛属于哪国fig, ax = plt.subplots()
line, = ax.plot([], [], lw=2)
xdata, ydata = [], []def run(data):
# update the data
t, y = data
xdata.append(t)
儋州旅游必去十大景点
ydata.append(y)
xmin, xmax = ax.get_xlim() if t >= xmax:
ax.set_xlim(xmin, 2*xmax)
巴马旅游景点
沙湖旅游攻略
ax.figure.canvas.draw()平乐古镇好玩吗
line.set_data(xdata, ydata) return line,
ani = animation.FuncAnimation(fig, run, data_gen, blit=False, interval=10,
repeat=False, init_func=init)
plt.show()
data_gen()这个函数, ⽤来⽣成具有数据的数据源, 改代码的话, 可以在此处改为你的数据源, 在此代码中该函数最终返回了⼀个⽣成器, 不⼀定⾮要⽤⽣成器, iterable(list, tuple等可迭代对象)、int或者None都⾏
代码中⽤了yield关键字, 具体参考:这位⼤佬的⽂章
init()这个函数, 是⽤于绘制清晰帧的函数, ⽤于初始化
run()这个函数, 是绘制每⼀帧所调⽤的函数
animation.FuncAnimation类的参数是:class matplotlib.animation.FuncAnimation(fig,func,frame
s = None,init_func = None,fargs = None,save_count = None,** kwargs )
interval的意思是帧之间的延迟(以毫秒为单位),默认为200
repeat的意思是控制在帧序列完成时是否应重复动画, 默认为True

本文发布于:2023-06-29 06:39:19,感谢您对本站的认可!

本文链接:http://www.035400.com/whly/4/172551.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:旅游   数据源   函数   控制   是否   序列   完成   默认
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2024-2030 Comsenz Inc.Powered by © 文化旅游网 滇ICP备2022007236号-403 联系QQ:1103060800网站地图