使用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抛出异常、自定义异常, 传递异常
Jun 20 Python
Python中的字符串替换操作示例
Jun 27 Python
python实战之实现excel读取、统计、写入的示例讲解
May 02 Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 Python
Python操作配置文件ini的三种方法讲解
Feb 22 Python
python中几种自动微分库解析
Aug 29 Python
Python生态圈图像格式转换问题(推荐)
Dec 02 Python
jupyter实现重新加载模块
Apr 16 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
May 08 Python
Python 多进程、多线程效率对比
Nov 19 Python
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
Mar 29 Python
Github 使用python对copilot做些简单使用测试
Apr 14 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
php中的异常和错误浅析
2017/05/03 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
2014/01/24 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
vue 页面加载进度条组件实例
2018/02/05 Javascript
JavaScript 中判断变量是否为数字的示例代码
2020/10/22 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
手把手教你如何编译打包video.js
2020/12/09 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
python实现画一颗树和一片森林
2018/06/25 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
Python帮你识破双11的套路
2019/11/11 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
Python如何实现Paramiko的二次封装
2021/01/30 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
函授毕业生自我鉴定范文
2014/03/25 职场文书
2015新学期家长寄语
2015/02/26 职场文书
第一军规观后感
2015/06/12 职场文书
单身证明格式样本
2015/06/15 职场文书
财务年终工作总结大全
2019/06/20 职场文书
用python画城市轮播地图
2021/05/28 Python