Python matplotlib 动画绘制详情
最最简单的操作
import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = fig.subplots() x = np.linspace(0,10,100) y = np.sin(x) while True: ax.plot(x,y) plt.pause(1) ax.cla() x += np.pi/30 y = np.sin(x)
有人会问,为什么不能直接 用 plot 替代 ax 呢?
好问题,你可以一试,会发现这玩意没法关掉 。。 当然 ctrl + C等暴力手段是任何时候都ok的
Animation类
FuncAnimation
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation fig = plt.figure() ax = fig.subplots() x = np.linspace(0,10,100) y = np.sin(x) ax.set_aspect(3) ax.plot(x,y,'-.',c='red',label="the old one") line = ax.plot(x,y,c='green') plt.legend() def fun(i): global x x += 0.1 y = np.sin(x) line[0].set_ydata(y) return line animation = FuncAnimation(fig,fun,interval=100) plt.show()
这就有两个问题需要解决一下
第一个:line到底是什么类型的东西
type(line) <class 'list'>
明显,这就是。。列表。
第二个:set_data;set_xdata;set_ydata
你可以自己更改一下试试看,结果是显而易见的
ArtistAnimation
它的好处是你不要费尽心机去想一个可能 勾八 的函数了
它的坏处是 :
一个能用函数表示的动画 为什么要在新增一个列表才能表达呢?
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import ArtistAnimation fig = plt.figure() ax = fig.subplots() frames = [] x = np.linspace(0,np.pi*2,10) for i in range(20): x += np.pi*2/20 y = np.sin(x) frames.append(ax.plot(y,'-.',c='red')) animation = ArtistAnimation(fig,frames,interval=100) plt.show()
很好!现在只需要保存动画就圆满了
动画保存
.save()函数
filename | 画文件名+后缀 |
fps | 动画每秒的帧数 默认值为 原动画的帧数 |
dpi | 动画每英寸的点数 默认值为 原动画的点数 |
codec | 编码格式 默认值为’h264’ |
filename画文件名+后缀fps动画每秒的帧数 默认值为 原动画的帧数dpi动画每英寸的点数 默认值为 原动画的点数codec编码格式 默认值为’h264’
animation.save("1.gif")
到此这篇关于Python matplotlib 动画绘制的文章就介绍到这了,更多相关Python matplotlib 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python ForMaiR实现自定义规则的邮件自动转发工具
这篇文章主要为大家介绍了python ForMaiR实现自定义规则的邮件自动转发工具示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-12-12详解Python的迭代器、生成器以及相关的itertools包
这篇文章主要介绍了详解Python的迭代器、生成器以及相关的itertools包,Iterators、Generators是Python的高级特性,亦是Python学习当中必会的基本知识,需要的朋友可以参考下2015-04-04Python3以GitHub为例来实现模拟登录和爬取的实例讲解
在本篇内容里小编给大家分享的是关于Python3以GitHub为例来实现模拟登录和爬取的实例讲解,需要的朋友们可以参考下。2020-07-07
最新评论