Python每日一记83>>>利用matplotlib.animation画动态图与ln,(加逗号)的思考

今日自律性良好。

上一篇文章利用plt.ion()的设置进行了动态图的绘制,今天学习了下利用animation绘制动态图,确实更强大,但是也较难理解。
函数FuncAnimation(fig,func,frames,init_func,interval,blit)是绘制动图的主要函数,其参数如下:
  1、fig 绘制动图的画布名称
  2、func自定义动画函数,即下边程序定义的函数update
  3、frames动画长度,一次循环包含的帧数(每一帧就是每一个画面),在函数运行时,其值会传递给函数update(n)的形参“n”,注意这个就是循环的基准参数,多次循环就是多个值的列表即可。
  4、init_func自定义开始帧,即传入刚定义的函数init,初始化函数,如设置图标大小,刻度等
  5、interval更新频率,以ms计
  6、blit选择更新所有点(False),还是仅更新产生变化的点(True),看情况设置,但mac用户请选择False,否则无法显示。

还是昨天的案例,绘制每一层楼的销售情况,多行数据的动画:
在这里插入图片描述
在这里插入图片描述
正确frame应该是np.range(1,5,1),因为初始化已经画了第一行了。
在这里插入图片描述
循环作图会无限的循环下去,解决方案是在ani=FuncAnimation(fig, update, frames=np.arange(0,5,1),init_func=init, interval=1000,blit=False,repeat=False),加上repeat=False,不重复循环!

另外在网上的案例有一点让我很不理解:
在这里插入图片描述
ln,加了逗号时元组类型,单个元素的元组!
但是不用元组类型就出错?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

直接把逗号取消确实会出现问题。因为用了元组,返回的是matplotlib类,但是单个变量返回的是list类,自然就没有set_data属性了。
但是为什么元组返回的就是matplotlib类,单个变量返回的是list类,咱也不知道,咱也不敢问!

后面又发现一个问题,我想着再实验下元组类型变量
在这里插入图片描述
在这里插入图片描述
目前,这个问题我也搞不懂是什么原因了,因此选择优先不适用元组类型,也就是不加逗号,我也就不用set_data,直接ax.bar(xdata,ydata,animated=False)重置。

但是后期会进行学习,一定要搞清楚为什么!为什么!

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值