import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
class drawAni():
# func为参数方程
def __init__(self,traceFuncs, para, txtFunc,
ts,xlim,ylim,figsize=(16,9),initFunc=None):
self.funcs = traceFuncs # 画图代码
self.para = para # 画图参数
self.txtFunc = txtFunc
self.fig = plt.figure(figsize=figsize)
ax = self.fig.add_subplot(autoscale_on=False,
xlim=xlim,ylim=ylim)
ax.grid()
if initFunc!=None: initFunc(ax)
self.N = len(para) # 轨迹个数
self.traces = [ax.plot([],[],p['flag'], lw=p['lw'])[0]
for p in para]
self.text = ax.text(0.02,0.85,'',transform=ax.transAxes)
self.initXY(self.N)
self.ts = ts #此为自变量
self.run(ts)
def initXY(self,N):
self.xs = [[] for _ in range(N)]
self.ys = [[] for _ in range(N)]
def animate(self,t):
if(t==self.ts[0]):
self.initXY(self.N)
for i in range(self.N):
x,y = self.funcs[i](t)
if self.para[i]['flush']==False:
self.xs[i].append(x)
self.ys[i].append(y)
self.traces[i].set_data(self.xs[i], self.ys[i])
else:
self.traces[i].set_data(x,y)
self.text.set_text(self.txtFunc(t))
return self.traces+[self.text]
def run(self,ts):
self.ani = animation.FuncAnimation(
self.fig, self.animate, ts, interval=5, blit=True)
plt.subplots_adjust(left=0.05, right=0.95, top=0.95, bottom=0.1)
plt.show()
def save(self,saveName):
self.ani.save(saveName)

微小冷
- 粉丝: 2w+
最新资源
- 基于Android的社交分享平台的设计论文.doc
- 网络宣传管理工作总结.docx
- 董老师研发多项目管理.doc
- 基因工程的步骤.ppt
- 国际货物买卖法MicrosoftPowerPoint演示文稿.pptx
- 金蝶软件初始化准备及基础资料编码规则培训.ppt
- 软件售后服务人员提成方案附表.docx
- 设施网络规划与物流管理.pptx
- 网络侵权的界定是什么?.doc
- 基于MATLAB彩色图像及增强处理设计方法.doc
- 项目管理人员安全生产责任制考核记录表.doc
- 天骄联盟网网络推广策划书.doc
- 中小企业会计信息化综述.doc
- 门户网站Web及应用服务器加速及负载均衡方案.doc
- 信息系统项目管理师九大项目管理知识点整合.pdf
- 根源性创新与计算机产业.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


