位置: IT常识 - 正文

用Python绘制几个动画(如何用python绘制)

编辑:rootadmin

推荐整理分享用Python绘制几个动画(如何用python绘制),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:用python画一个简单的图形,用python画一个简单的图形,python如何画出多个独立的图,python如何画出多个独立的图,python绘制几个对称的点,python绘制几个对称的点,python如何绘制多个图,python如何绘制多个图,内容如对您有帮助,希望把文章链接给更多的朋友!

Python中的matplotlib从1.1.0版本以后就开始支持绘制动画,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。这里介绍几种Python使用matplotlib绘制动画的方法。

用Python绘制几个动画(如何用python绘制)

下面是几个的示例:

第一个例子使用generator,每隔两秒,就运行函数data_gen:

#-*-coding:utf-8-*-importnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib.animationasanimationfig=plt.figure()axes1=fig.add_subplot(111)line,=axes1.plot(np.random.rand(10))#因为update的参数是调用函数data_gen,#所以第一个默认参数不能是framenumdefupdate(data):line.set_ydata(data)returnline,#每次生成10个随机数据defdata_gen():whileTrue:yieldnp.random.rand(10)ani=animation.FuncAnimation(fig,update,data_gen,interval=2*1000)plt.show()

第二个例子使用list(metric),每次从metric中取一行数据作为参数送入update中:

importnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib.animationasanimationstart=[1,0.18,0.63,0.29,0.03,0.24,0.86,0.07,0.58,0]metric=[[0.03,0.86,0.65,0.34,0.34,0.02,0.22,0.74,0.66,0.65],[0.43,0.18,0.63,0.29,0.03,0.24,0.86,0.07,0.58,0.55],[0.66,0.75,0.01,0.94,0.72,0.77,0.20,0.66,0.81,0.52]]fig=plt.figure()window=fig.add_subplot(111)line,=window.plot(start)#如果是参数是list,则默认每次取list中的一个元素,#即metric[0],metric[1],...defupdate(data):line.set_ydata(data)returnline,ani=animation.FuncAnimation(fig,update,metric,interval=2*1000)plt.show()

第三个例子:

importnumpyasnpfrommatplotlibimportpyplotaspltfrommatplotlibimportanimation#Firstsetupthefigure,theaxis,andtheplotelementwewanttoanimatefig=plt.figure()ax=plt.axes(xlim=(0,2),ylim=(-2,2))line,=ax.plot([],[],lw=2)#initializationfunction:plotthebackgroundofeachframedefinit():line.set_data([],[])returnline,#animationfunction.Thisiscalledsequentially#note:iisframenumberdefanimate(i):x=np.linspace(0,2,1000)y=np.sin(2*np.pi*(x-0.01*i))line.set_data(x,y)returnline,#calltheanimator.blit=Truemeansonlyre-drawthepartsthathavechanged.anim=animation.FuncAnimation(fig,animate,init_func=init,frames=200,interval=20,blit=True)#anim.save('basic_animation.mp4',fps=30,extra_args=['-vcodec','libx264'])plt.show()

第四个例子:

#-*-coding:utf-8-*-importnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib.animationasanimation#每次产生一个新的坐标点defdata_gen():t=data_gen.tcnt=0whilecnt<1000:cnt+=1t+=0.05yieldt,np.sin(2*np.pi*t)*np.exp(-t/10.)data_gen.t=0#绘图fig,ax=plt.subplots()line,=ax.plot([],[],lw=2)ax.set_ylim(-1.1,1.1)ax.set_xlim(0,5)ax.grid()xdata,ydata=[],[]#因为run的参数是调用函数data_gen,#所以第一个参数可以不是framenum:设置line的数据,返回linedefrun(data):#updatethedatat,y=dataxdata.append(t)ydata.append(y)xmin,xmax=ax.get_xlim()ift>=xmax:ax.set_xlim(xmin,2*xmax)ax.figure.canvas.draw()line.set_data(xdata,ydata)returnline,#每隔10秒调用函数run,run的参数为函数data_gen,#表示图形只更新需要绘制的元素ani=animation.FuncAnimation(fig,run,data_gen,blit=True,interval=10,repeat=False)plt.show()#-*-coding:utf-8-*-importnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib.animationasanimation#第一个参数必须为framenumdefupdate_line(num,data,line):line.set_data(data[...,:num])returnline,fig1=plt.figure()data=np.random.rand(2,15)l,=plt.plot([],[],'r-')plt.xlim(0,1)plt.ylim(0,1)plt.xlabel('x')plt.title('test')#framenum从1增加大25后,返回再次从1增加到25,再返回...line_ani=animation.FuncAnimation(fig1,update_line,25,fargs=(data,l),interval=50,blit=True)#等同于#line_ani=animation.FuncAnimation(fig1,update_line,frames=25,fargs=(data,l),#interval=50,blit=True)#忽略frames参数,framenum会从1一直增加下去知道无穷#由于frame达到25以后,数据不再改变,所以你会发现到达25以后图形不再变化了#line_ani=animation.FuncAnimation(fig1,update_line,fargs=(data,l),#interval=50,blit=True)plt.show()
本文链接地址:https://www.jiuchutong.com/zhishi/309298.html 转载请保留说明!

上一篇:帝国cms怎么安装?(帝国cms安装教程)

下一篇:唐山发生5.1级地震 地震相关英文表达(唐山发生5.1级地震)

  • 免税收入不征税收入有哪些
  • 小微企业税收新政
  • 其他个人出租房屋按照多少征收应纳税额
  • 住宿费收据属于什么凭证
  • 金蝶k3如何设置凭证保存自动新增
  • 多少金额以下可以一次性费用
  • 汽车购买者
  • 共用的水电费支出怎么算
  • 房地产预收账款如何缴纳印花税
  • 天然气安装工程施工劳务协议
  • 湖南残保金减免优惠政策2020
  • 对公受托理财赎回分录
  • 部分销售退回怎么开票
  • 外购电力费用分配例题
  • 轿车计提折旧
  • 哪些费用可在缴纳企业所得税前扣除呢?
  • 营业执照首次年报
  • 个人交物业费开发票交税点吗
  • 税控盘抵扣增值税怎么做账
  • 新股东入股怎么写记账凭证摘要
  • 土地增值税怎么预交
  • 医保退休必须交多少年辽阳
  • 少数股东损益为正,归属毌公司为负
  • 委托贷款合同效力
  • 高新企业研发项目
  • 开具发票的收入如何做账务处理?
  • 销售商品抹零需要怎么入账
  • win10系统如何在游戏中禁用输入法
  • window10的帮助与支持窗口在哪
  • 保护电脑安全的主要方式
  • 购买商品接受劳务的现金流包括哪些
  • 资产负债表里的存货怎么算
  • 飞机电子普通发票6%税率可以抵扣吗
  • 资本溢价是
  • 销项负数发票怎么处理
  • 应付债券到期偿还
  • 工资薪金所得具体包括哪些
  • 微软商店 低价区
  • php单例模式例子
  • 亏损销售怎么结转库存成本怎么计算
  • phpseessid
  • 进项税大于销项税,不用缴纳增值税
  • 一般纳税人简易计税会计分录
  • 房产税城镇土地使用税申报期限
  • 企业出售生产设备能开票吗怎么开
  • vue项目开发环境
  • html做超链接
  • 【简陋Web应用2】人脸检测——基于Flask和PaddleHub
  • 普通动产和特殊动产如何分类
  • 图书发行员证书在哪里办理
  • discuz去除底部
  • 个税系统为什么没有累计数据
  • 购入支票号码和使用支票号码是什么
  • 企业可以收付实现制记账吗
  • 员工出差过程中意外死亡算工伤吗
  • 普票需要填写全额发票吗
  • 零申报不报税有什么后果
  • 银行存款对账方法
  • 经营费用包括工资吗
  • 没有发票的房租怎么入账
  • 公司购烟酒怎么入账
  • 个别计价法下,把每一种存货的实际成本
  • 汽车销售和租赁业务描述
  • 主营业务收入记多栏还是三栏
  • 费用发票可以不抵扣进项税吗
  • 红字冲账的记账凭证
  • 数字证书限额多少
  • 不固定参数的存储器
  • window系统怎么更新版本
  • win10预览设置
  • ubuntu唤醒快捷键
  • 组策略禁用u盘怎么打开
  • linux 如何
  • linux rsync同步命令(值得收藏)
  • Css属性中表示字体的是
  • 关于H1的位置解析
  • 自定义dialogfragment
  • 内蒙古国家税务局网上电子税务局官网
  • 无锡国税电子发票怎么开
  • 房契税发票丢了能补办吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设