使用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在linux中输出带颜色的文字的方法
Jun 19 Python
Python学习pygal绘制线图代码分享
Dec 09 Python
Python装饰器(decorator)定义与用法详解
Feb 09 Python
python对列进行平移变换的方法(shift)
Jan 10 Python
Python3按一定数据位数格式处理bin文件的方法
Jan 24 Python
Python实现制度转换(货币,温度,长度)
Jul 14 Python
Python 实现数据结构-循环队列的操作方法
Jul 17 Python
docker django无法访问redis容器的解决方法
Aug 21 Python
python爬虫 线程池创建并获取文件代码实例
Sep 28 Python
python__name__原理及用法详解
Nov 02 Python
python可迭代对象去重实例
May 15 Python
Python集合的基础操作
Nov 01 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
PHP 正则表达式常用函数
2014/08/17 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
简单的js分页脚本
2009/05/21 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
react路由配置方式详解
2017/08/07 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
JS实现放大镜效果
2020/09/21 Javascript
详解Python多线程Selenium跨浏览器测试
2017/04/01 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Python代码太长换行的实现
2019/07/05 Python
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
开放系统互连参考模型
2016/06/29 面试题
党员个人思想汇报
2013/12/28 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
小学生期末评语大全
2014/04/21 职场文书
铁人观后感
2015/06/16 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书