Python matplotlib 动画绘制详情

 更新时间:2022年09月01日 09:38:17   作者:Chandler_river  
这篇文章主要介绍了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 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • flask-script模块的具体使用

    flask-script模块的具体使用

    本文主要介绍了flask-script模块的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • python之pygame模块实现飞机大战完整代码

    python之pygame模块实现飞机大战完整代码

    这篇文章主要为大家详细介绍了python之pygame模块实现飞机大战完整代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 基于python实现从尾到头打印链表

    基于python实现从尾到头打印链表

    这篇文章主要介绍了基于python实现从尾到头打印链表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python中的Selenium异常处理

    Python中的Selenium异常处理

    这篇文章介绍了Python中的Selenium异常处理,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Python判断两个list是否是父子集关系的实例

    Python判断两个list是否是父子集关系的实例

    今天小编就为大家分享一篇Python判断两个list是否是父子集关系的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 16中Python机器学习类别特征处理方法总结

    16中Python机器学习类别特征处理方法总结

    类别型特征(categorical feature)主要是指职业,血型等在有限类别内取值的特征。在这篇文章中,小编将给大家分享一下16种类别特征处理方法,需要的可以参考一下
    2022-09-09
  • Python 实现PS滤镜中的径向模糊特效

    Python 实现PS滤镜中的径向模糊特效

    这篇文章主要介绍了Python 实现 PS 滤镜中的径向模糊特效,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
    2020-12-12
  • Python+Pygame实现神庙逃亡游戏

    Python+Pygame实现神庙逃亡游戏

    这篇文章主要为大家介绍了如何利用Python和Pygame动画制作一个神庙逃亡类似的小游戏。文中的示例代码讲解详细,感兴趣的小伙伴可以动手尝试一下
    2022-05-05
  • python搭建虚拟环境的步骤详解

    python搭建虚拟环境的步骤详解

    相信每位python都知道,进行不同的python项目开发,有的时候会遇到这样的情况:python 版本不一样,使用的软件包版本不一样。这种问题最佳的解决办法是为不同的项目搭建独立的 python 环境。下面来一起看看吧。
    2016-09-09
  • Django REST framework 异常处理

    Django REST framework 异常处理

    本文将结合实例代码,介绍Django REST framework 异常处理,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07

最新评论