今天来用Matplotlib做动图玩玩,怎么让静图变为动图呢?我们现在的看到的电影、电视剧一般是24帧的,也就是每秒24幅图。用Matplotlib做动图也是这个原理用一定数量的静图在一定的时间内播放就能做出动图,原理就是:画图-->清理-->画图

目录:

1、模式选择

2、基本示例

3、动图保存

1、模式选择

在Matplotlib中画图有两种显示模式:

一、阻塞模式,即必须利用plt.show()显示图片,且图片关闭之前代码将阻塞在该行。

二、交互模式,即plt.plot()后立马显示图片,且不阻塞代码的继续运行。

Matplotlib中默认是使用阻塞模式。看一下这里用到的matplotlib中的几个函数:

plt.ion():打开交互模式

plt.ioff():关闭交互模式

plt.clf():清除当前的Figure对象

plt.cla():清除当前的Axes对象

plt.pause():暂停功能

我们就拿上次代码试试看

import numpy as np
import matplotlib.pyplot as pltplt.ion()
price04 = [16022, 19550, 20176, 22867, 28017, 34064, 47098, 49951, 58837, 68216, 74486]
now_price = [16270, 20131, 21563, 25492, 28666, 34259, 46460, 50081, 65994,  62630, 62358]
percent = []
for i in range(len(price04)):percent.append(round(((now_price[i] - price04[i])/price04[i]) * 100, 3))
zone = ['从化', '花都', '增城', '南沙', '黄埔', '番禺', '白云', '荔湾', '海珠', '越秀', '天河']
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.bar(zone, percent, color='r', label='涨跌幅度')
for i in range(len(percent)):if percent[i] < 0:plt.text(zone[i], percent[i]-1, percent[i], ha='center')else:plt.text(zone[i], percent[i]+1, percent[i], ha='center')
plt.legend()
plt.pause(1)

一开始就打开了交互模式,最后面调用了pause()方法暂停1秒

2、基本示例

案例一:动态柱状图

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
fig, ax = plt.subplots()
y1 = []
for i in range(50):y1.append(i)  # 每迭代一次,将i放入y1中画出来ax.clear()   # 清除键ax.bar(y1, height=y1, width=0.3)ax.legend()plt.pause(0.1)

运行结果:

案例二:直线轨迹

import matplotlib.pyplot as pltx = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [5]*11
fig = plt.figure()
ax = plt.axes(xlim=(0, 10), ylim=(0, 10))
x1 = []
tmp = []
for i in range(10):# x1.append(i)  # 每迭代一次,将i放入y1中画出来ax.clear()  # 清除键ax.plot(x, y)temp = ax.plot(i, 5, 'ro')tmp.append(temp)plt.pause(1)

运行结果:

3、动图保存

import matplotlib.pyplot as plt
import matplotlib.animation as animationfig, ax = plt.subplots()
y1 = []
tmp = []
for i in range(10):y1.append(i)  # 每迭代一次,将i放入y1中画出来temp = ax.bar(y1, height=y1, width=0.3)tmp.append(temp)ani = animation.ArtistAnimation(fig, tmp, interval=200, repeat_delay=1000)
ani.save("柱状图.gif", writer='pillow')

对你有帮助的话给我点个赞呗‎|•'-'•) ✧

Matplotlib做动图(基础版)相关推荐

  1. 如何使用python做图_如何使用python做动图

    python可以做动图吗 ImageMagick 是一套功能强大.稳定而且开源的工具集和开发包,可以用来读.写和处理超过200种基本格式的图片文件,包括PNG,JPEG,GIF,HEIC,TIFF,D ...

  2. python怎么变成动图_python可以做动图吗

    ImageMagick 是一套功能强大.稳定而且开源的工具集和开发包,可以用来读.写和处理超过200种基本格式的图片文件,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,P ...

  3. GIPHY CAPTURE如何做动图?gif制作器的使用方法?

    gif 动图制作哪个好?今天小编给大家推荐一款Mac上制作gif图的工具-- GIPHY CAPTURE.GIPHY CAPTURE是专为Mac用户准备的一款非常简单的GIF制作器,只需单击" ...

  4. Termux基础教程(无编程基础动图展示版)

    Termux基础教程(无编程基础版) Termux作为一个无需root就能实现很多功能的手机终端软件,它可以实现多种编程功能,其命令与Linux相似,可以为电脑暂时无法满足要求的同学提供一个编程和Li ...

  5. python学习之matplotlib绘制动图(FuncAnimation()参数)

    1.函数FuncAnimation(fig,func,frames,init_func,interval,blit)是绘制动图的主要函数,其参数如下: a.fig 绘制动图的画布名称 b.func自定 ...

  6. 用【python】自做动图

    代码如下: from PIL import Image, ImageSequence, ImageFont import matplotlib.pyplot as plt import os, ran ...

  7. c++也能做动图?——devc++窗口做简单移动

    前段时间,我看见CSDN的主页有许多利用各种语言写动图的帖子,唯独没有c++的.为什么呢?因为c++有点过时了.现在只有算法.操作系统会用到c++,动图是不会用到c++的.但是,我作为一名c++小学员 ...

  8. 使用python matplotlib实现动图绘制

    前言 想写数据动态可视化很久了,但是网上竟然没有一份能直接用的代码,昨天终于狠下心来死啃了一波开发者文档搞定了这部分,贴一篇blog记录一下希望可以帮到你. 思路 动图的核心函数是matplotlib ...

  9. 怎么做动图?轻松在线制作gif动图的技巧

    动态图片怎么做呢?很多小伙伴在日常工作中,经常会需要制作gif格式图片来使用.对于小白而言,如何制作动态图片(一键合成高清gif动图-在线gif制作工具-gif.cn_GIF中文网)呢?那么就需要一款 ...

最新文章

  1. 分页场景(limit,offset)为什么会慢?
  2. R语言获取当前R版本(version)实战
  3. 四川师范大学大学计算机基础,四川师范大学2009-2010学年计算机基础期末考试试题.doc...
  4. 网络推广是什么告诉大家如何高效提高网站权重?
  5. sql语句(Oracle和sqlserver)
  6. gitlab永久设置密码
  7. Codeforces Round #704 (Div. 2) E. Almost Fault-Tolerant Database 思维
  8. 大数据之_数据采集Flume_架构---Flume工作笔记004
  9. OpenSSL制作自签名V3证书
  10. android截屏方法是黑屏,Android截屏SurfaceView黑屏问题的解决办法
  11. 联想拯救者笔记本摄像头打不开
  12. explicit 为什么禁止隐式类型转换
  13. 华为路由器DDNS设置and NAT内网映射 and SSH
  14. python集成Bartender的雏形
  15. 小程序顶部自定义标题栏高度自适应
  16. 亚马逊服务器运行软件,如何在亚马逊的EC2上运行Java服务器?
  17. 小象学院 零基础Python入门 案例四 52周存钱挑战v_3.0
  18. 圣诞节实用礼物有哪些?高性价比的蓝牙耳机分享
  19. pyqt:让qlabel的图片根据鼠标指向的位置进行放缩
  20. 科研—画图图片处理1

热门文章

  1. 腾讯域名申请、腾讯备案以及公安备案过程记录
  2. obs 推流编码在哪设置_浮动课堂 | 讲讲OBS直播软件的简单设置
  3. 【CLAA系列】CLAA协议学习(CS方向)
  4. python计算中文文件字数_python怎么统计txt文件的字数
  5. 两点三次埃尔米特插值
  6. 《极光征文》颁奖 | 恭喜你完成 2019 第一个小目标
  7. A Game of Thrones(101)
  8. Win10鼠标点一下文件夹或文件没有选中的那个蓝色,但还是能正常用,比如双击跟右键,点一下也有详细信息
  9. Mac IntelliJ IDEA 2020.1 闪退
  10. IOS10 无法获取手机传感器