使用numpngw和matplotlib生成png动画的示例代码


Posted in Python onJanuary 24, 2021

在matplotlib官网看到了第三方库numpngw的简介,利用该库作为插件可以辅助matplotlib生成png动画。

numpngw概述

numpngw库可生成PNG静态图像和PNG动画。

  • 通过write_png函数可以将 numpy保存为PNG 文件。
  • 通过 write_apng 函数可以将数组序列保存为 PNG 动画(APNG)文件 。
  • 通过AnimatedPNGWriter类可以将Matplotlib 保存为PNG动画文件。

numpngw库的依赖包是numpy和setuptools。

使用numpngw和matplotlib生成png动画

numpngw+matplotlib实现png动画

import numpy as np
from matplotlib import pyplot as plt
import matplotlib.animation as animation
from numpngw import AnimatedPNGWriter

t = np.linspace(0, 6, 100)
x = 16 * np.sin(t) ** 3
y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t)
data=[i for i in zip(x,y)]

def plot_love(data):
  x, y = data
  plt.scatter(x, y, 60, c="r", alpha=0.7, marker=r"$\heartsuit$")
fig=plt.figure(figsize=(5, 3), dpi=100)
plt.axis("off")

writer = AnimatedPNGWriter(fps=12)
animator = animation.FuncAnimation(fig, plot_love, frames=data)
animator.save("love.png", writer=writer)

使用matplotlib和pillow实现gif动画

from matplotlib import pyplot as plt
import matplotlib.animation as animation
import numpy as np

t = np.linspace(0, 6, 100)
x = 16 * np.sin(t) ** 3
y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t)
data=[i for i in zip(x,y)]

def plot_love(data):
  x, y = data
  plt.scatter(x, y, 60, c="r", alpha=0.7, marker=r"$\heartsuit$")

fig=plt.figure(figsize=(5, 3), dpi=100)
plt.axis("off")
animator = animation.FuncAnimation(fig, plot_love, frames=data, interval=80)
animator.save("love.gif", writer='pillow')

关键代码解读

# 导入AnimatedPNGWriter
from numpngw import AnimatedPNGWriter

# 初始化AnimatedPNGWriter
writer = AnimatedPNGWriter(fps=12)
# 将save函数中的writer参数设为AnimatedPNGWriter实例
animator.save("love.png", writer=writer)

通过对比可知,使用 numpngw+matplotlib生成png动画方式非常简单,只用初始化AnimatedPNGWriter,在save函数中指定writer即可。

到此这篇关于使用numpngw和matplotlib生成png动画的示例代码的文章就介绍到这了,更多相关numpngw和matplotlib生成png动画内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python群发邮件实例代码
Jan 03 Python
详解Python中的相对导入和绝对导入
Jan 06 Python
Python实现输出程序执行进度百分比的方法
Sep 16 Python
mac系统安装Python3初体验
Jan 02 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
Apr 26 Python
详解Python3.6安装psutil模块和功能简介
May 30 Python
python实现FTP循环上传文件
Mar 20 Python
通过python 执行 nohup 不生效的解决
Apr 16 Python
Python类super()及私有属性原理解析
Jun 15 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
写一个Python脚本自动爬取Bilibili小视频
Apr 24 Python
对Keras自带Loss Function的深入研究
May 25 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 #Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 #Python
浅析python字符串前加r、f、u、l 的区别
Jan 24 #Python
python 图像增强算法实现详解
Jan 24 #Python
详解用 python-docx 创建浮动图片
Jan 24 #Python
Python爬虫入门教程02之笔趣阁小说爬取
Jan 24 #Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 #Python
You might like
通过对服务器端特性的配置加强php的安全
2006/10/09 PHP
phpfans留言版用到的install.php
2007/01/04 PHP
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
jQuery版仿Path菜单效果
2011/12/15 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
JavaScript中string对象
2015/06/12 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
Python Matplotlib库入门指南
2015/05/18 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
python实现Dijkstra静态寻路算法
2019/01/17 Python
python的pstuil模块使用方法总结
2019/07/26 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
会计自我鉴定范文
2013/10/06 职场文书
中英文自我评价语句
2013/12/20 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
企业员工培训感言
2014/02/26 职场文书
承诺书范本大全
2015/05/04 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书