成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 如何利用Matplotlib庫繪制動(dòng)畫及保存GIF圖片

如何利用Matplotlib庫繪制動(dòng)畫及保存GIF圖片

熱門標(biāo)簽:海外網(wǎng)吧地圖標(biāo)注注冊(cè) 孝感營銷電話機(jī)器人效果怎么樣 地圖標(biāo)注自己和別人標(biāo)注區(qū)別 聊城語音外呼系統(tǒng) 南陽打電話機(jī)器人 商家地圖標(biāo)注海報(bào) ai電銷機(jī)器人的優(yōu)勢(shì) 打電話機(jī)器人營銷 騰訊地圖標(biāo)注沒法顯示

前言

在自學(xué)機(jī)器學(xué)習(xí)或者是深度學(xué)習(xí)的過程中,有的時(shí)候總想把執(zhí)行過程或者執(zhí)行結(jié)果顯示出來,所以就想到了動(dòng)畫。好在用 Python 實(shí)現(xiàn)動(dòng)畫有許多中方式,而大家熟知的 Matplotlib 庫就可以實(shí)現(xiàn)。

本文的目的是對(duì) Matplotlib 的動(dòng)畫實(shí)現(xiàn)手段做一個(gè)簡單的說明。

繪制動(dòng)畫

import matplotlib.pyplot as plt
import matplotlib.animation as animation

如果要讓 matplotlib 實(shí)現(xiàn)動(dòng)畫功能的話,那么就要引入 animation 模塊。

然后再創(chuàng)建 animation 的對(duì)象。

anim = animation.FuncAnimation(fig, run, data_gen, blit=False, interval=10,
                              repeat=False, init_func=init)

animation 的實(shí)現(xiàn)類是 FuncAnimation,它有一個(gè)構(gòu)造方法。下面先通過一個(gè)示例,講解 animation 的基本用法,然后再來細(xì)致分析 FuncAnimation 構(gòu)造方法中各項(xiàng)參數(shù)的意義。

我們的目標(biāo)是做一個(gè) Sin 函數(shù)的動(dòng)畫示例。

代碼很簡單。

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

fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = plt.plot([], [], 'ro',animated=True)

def init():
    ax.set_xlim(-np.pi,np.pi)
    ax.set_ylim(-1, 1)
    return ln,

def update(frame):
    xdata.append(frame)
    ydata.append(np.sin(frame))
    ln.set_data(xdata, ydata)
    return ln,

anim = animation.FuncAnimation(fig, update, frames=np.linspace(-np.pi,np.pi, 90),interval=10,
                    init_func=init,blit=True)
plt.show()

核心代碼是這一行。

anim = animation.FuncAnimation(fig, update, frames=np.linspace(-np.pi,np.pi, 90),interval=10,
                    init_func=init,blit=True)

按照上面的示例代碼,我們可以依葫蘆畫瓢編寫動(dòng)畫代碼了。

但,如果我們需要達(dá)到靈活運(yùn)用的話,就需要花點(diǎn)心思,了解它們的機(jī)制。

我們先來看看 FuncAnimation 的構(gòu)造方法。

def __init__(self, fig, func, frames=None, init_func=None, fargs=None,
                 save_count=None, **kwargs):

fig 自然是 matplotlib 中的 figure 對(duì)象。

func 是每一次更新時(shí)所調(diào)用的方法,它是回調(diào)函數(shù)。因此,我們可以在這個(gè)方法中更新 figure 當(dāng)中的 axes 中的 line2d 對(duì)象,它是動(dòng)態(tài)更新 figure 的根本。

frames 代表了整個(gè)動(dòng)畫過程中幀的取值范圍,而本質(zhì)上是一個(gè)數(shù)據(jù)發(fā)生器。我將在后面重點(diǎn)講解它。

init_func 是初始函數(shù),用來初始 figure 的畫面。

fargs 是每次附加給 func 回調(diào)函數(shù)的參數(shù),可以為 None

save_count 是緩存的數(shù)量

除此之外,還有一些可選的參數(shù),它們分別是

interval 是每 2 個(gè) frame 發(fā)生的時(shí)間間隔,單位是 ms,默認(rèn)值是 200.

repeat_delay 取值是數(shù)值,如果 animation 是重復(fù)播放的話,這個(gè)值就是每次播放之間的延遲時(shí)間,單位是 ms。

repeat bool 型可選參數(shù),默認(rèn)為 True,代表動(dòng)畫是否會(huì)重復(fù)執(zhí)行

blit bool 型可選參數(shù),控制繪制的優(yōu)化。默認(rèn)是 False。

如何理解 animation 呢?

我認(rèn)為,animation 的核心是 frames 和 func。

frames 可以取值:iterable,int,generator 生成器函數(shù) 或者是 None。

在上面的代碼中,我們給 frames 的取值是這樣的。

frames=np.linspace(-np.pi,np.pi, 90)

其實(shí)就是一個(gè) list,它的值范圍為 -pi 到 pi,frames 總共有 90 幀,而 list 是一個(gè) iterable 類型,所以它可以不停的迭代。

frames 也可以取值為整數(shù),相當(dāng)于給參數(shù)賦值 range(frames)。

frames 也可以取值為 None,那么它的結(jié)果相當(dāng)于傳遞 itertools.count,結(jié)構(gòu)就是從 0 開始,每次步進(jìn) 1,無限的執(zhí)行下去。

frames 還接受 generator 函數(shù),也就是生成器,但有個(gè)前提是,生成器要符合下面的簽名格式。

def gen_function() -> obj

參數(shù)列表為空,但需要返回一個(gè)值,這個(gè)值就會(huì)傳入到 func 回調(diào)函數(shù)當(dāng)中。

func 是回調(diào)函數(shù),它會(huì)在每次更新的時(shí)候被調(diào)用,所以我們只需要在這個(gè)函數(shù)中更新 figure 中的數(shù)值就可以了,就像下面代碼。

def update(frame):
    xdata.append(frame)
    ydata.append(np.sin(frame))
    ln.set_data(xdata, ydata)
    return ln,

frames 和 func 的關(guān)系是什么?

實(shí)際上,frames 決定了整個(gè)動(dòng)畫 frame 的取值范圍,它會(huì)在 interval 時(shí)間內(nèi)迭代一次,然后將值傳遞給 func,直到整個(gè) frames 迭代完畢。

我本人而言,也更傾向于用 generator 函數(shù)去定義 frames 而不是直接分配一個(gè)列表,所以我可以將之前的代碼改寫如下。

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

fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = plt.plot([], [], 'ro',animated=True)

def init():
    ax.set_xlim(-np.pi,np.pi)
    ax.set_ylim(-1, 1)
    return ln,

def update(frame):
    xdata.append(frame)
    ydata.append(np.sin(frame))
    ln.set_data(xdata, ydata)
    return ln,

def data_gen():

    frame = -np.pi

    step = 2 * np.pi / 90

    while frame  np.pi:
        frame += step
        yield frame

# anim = animation.FuncAnimation(fig, update, frames=np.linspace(-np.pi,np.pi, 360),interval=10,
#                     init_func=init,blit=True)
anim = animation.FuncAnimation(fig, update, frames=data_gen,interval=10,
                    init_func=init,blit=True)

plt.show()

data_gen 就是一個(gè)生成器函數(shù),它會(huì)每隔 10ms 運(yùn)行一次,然后將結(jié)果傳遞給 update 函數(shù)。

data_gen 里面運(yùn)用到了 yield 關(guān)鍵字,這是的我們可以在每次迭代時(shí)才返回相應(yīng)的結(jié)構(gòu),而不要在一開始就分配。如果不熟悉這方面知識(shí)點(diǎn)的同學(xué),可以自行搜索相應(yīng)的知識(shí)。

保存動(dòng)畫

因?yàn)榻?jīng)常寫博客,所以也經(jīng)常需要將結(jié)果保存下來,一般我會(huì)保存為 .gif 格式圖片,本篇博文的 gif 圖像就是通過 matplotlib 保存的。

好在用 matplotlib 實(shí)現(xiàn)它也并不難。

anim.save('test_animation.gif',writer='imagemagick')

一句代碼就搞定了,運(yùn)行成功后,會(huì)在當(dāng)前目錄下生成 test_animation.gif 圖像。

需要注意到的是,如果要保存 gif 圖像,這要求開發(fā)者電腦已經(jīng)安裝了 ImageMagicK。

ubuntu 用戶可以通過如下命令安裝。

sudo apt-get install imagemagick

并且,動(dòng)畫保存的時(shí)候要指定 writer 為 imagemagick.

動(dòng)畫可以保存為 gif 圖像,自然也能保存為 mp4 視頻格式。

但這要求開發(fā)者計(jì)算機(jī)已經(jīng)安裝好 ffmpeg 庫,并且 save 方法中指定 writer 為 ffmpeg,具體細(xì)節(jié)請(qǐng)讀者自行擴(kuò)展閱讀。

總結(jié)

到此這篇關(guān)于如何利用Matplotlib庫繪制動(dòng)畫及保存GIF圖片的文章就介紹到這了,更多相關(guān)Matplotlib庫繪制動(dòng)畫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python使用matplotlib繪制動(dòng)畫的方法
  • Python通過matplotlib繪制動(dòng)畫簡單實(shí)例
  • Python使用Matplotlib實(shí)現(xiàn)雨點(diǎn)圖動(dòng)畫效果的方法
  • matplotlib繪制動(dòng)畫代碼示例
  • 如何基于Python Matplotlib實(shí)現(xiàn)網(wǎng)格動(dòng)畫
  • 使用numpngw和matplotlib生成png動(dòng)畫的示例代碼

標(biāo)簽:聊城 牡丹江 揚(yáng)州 六盤水 撫州 楊凌 南寧 迪慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何利用Matplotlib庫繪制動(dòng)畫及保存GIF圖片》,本文關(guān)鍵詞  如何,利用,Matplotlib,庫,繪制,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何利用Matplotlib庫繪制動(dòng)畫及保存GIF圖片》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何利用Matplotlib庫繪制動(dòng)畫及保存GIF圖片的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲人成色777777老人头| 国产精品调教视频| 久久久一区二区三区四区| 精品人妻少妇嫩草av无码专区| 欧美老女人在线| 国产午夜精品久久久久久免费视| 亚洲成av人片在线观看无| 日韩欧美中文字幕在线观看| 日韩av在线直播| 欧美精品日日鲁夜夜添| 亚洲欧美另类人妖| 丁香花在线观看完整版电影| 制服丝袜专区在线| 好操啊在线观看免费视频| 日韩精品日韩在线观看| av先锋下载| 成人欧美一区二区三区视频| 欧美视频一区二区在线观看| 亚洲色图欧洲色图婷婷| 亚洲成人黄色片| 一区二区三区视频| 欧美在线视频观看| 日韩国产一区三区| 欧洲亚洲一区二区三区| 国产香蕉在线观看| 91久久极品少妇xxxxⅹ软件| 国产精品va在线播放我和闺蜜| vam成人资源在线观看| 99久久久精品免费观看国产蜜| 欧美日韩亚洲第一| 色婷婷综合久久久久中文字幕| 亚洲激情社区| 久久精品视频一区| 欧美久久久久免费| www.香蕉视频在线观看| 欧美激情一区二区三区久久久| 成人avav影音| 日韩视频一区| 性爽视频在线| 久久欧美在线电影| 成人在线超碰| 中文字幕观看在线| 女厕嘘嘘一区二区在线播放| 精品二区久久| 日韩av综合在线观看| 91极品视频在线观看| 中文字幕制服丝袜一区二区三区| 伊人免费视频二| 亚洲人123区| 欧美激情视频免费看| 快播日韩欧美| 天堂аⅴ在线地址8| 欧美成人福利| 国产精品高清无码在线观看| 亚洲一二三av| 欧美日韩国产精品一区二区不卡中文| 伦伦影院午夜理论片| 成人做爰66片免费看网站| 日韩av色综合| 免费不卡在线观看av| 青春有你2免费观看完整版在线播放高清| 97偷自拍亚洲综合二区| 欧洲grand老妇人| 久久精品国产sm调教网站演员| 在线码字幕一区| 区一区二区三区中文字幕| 黄色在线免费观看网站| 噜噜噜久久亚洲精品国产品小说| 国产麻豆一精品一av一免费| 嫩草在线播放| 久久久久久久香蕉| 欧美日韩免费精品| 欧美大片在线播放| 久久国产免费视频| 日本中文字幕高清| 国产亚洲毛片| 欧美俄罗斯乱妇| 福利写真视频网站在线| 久久久精品999| 精品乱码一区二区三区| 精品麻豆剧传媒av国产九九九| 欧美在线观看视频免费| 国产最新精品视频| 国产成人亚洲精品自产在线| 在线激情免费视频| 免费观看四虎精品成人| 97在线电影| 久久尤物视频| 一级黄色片免费| 国产精品久久免费观看| 欧美大肥婆大肥bbbbb| 99久久久无码国产精品6| 国产免费www| 久久国产精品无码一级毛片| 日本亚洲欧美在线| 欧美日韩在线观看视频小说| 99国产精品视频免费观看| 曰本三级日本三级日本三级| 国产一级一片免费播放放a| 视频在线91| 黄色的网站免费| 精品国产三级电影在线观看| 伊人久久一区二区| 欧美激情视频一区二区| 国产成人鲁鲁免费视频a| 国产精品xxx电影| 要久久爱电视剧全集完整观看| 免费萌白酱国产一区二区三区| 一区二区三区免费看视频| 欧美一区日韩一区| 久久精品二区亚洲w码| 色诱色偷偷久久综合| 亚洲 精品 综合 精品 自拍| 91国内在线视频| 欧美精品亚洲精品| 中国人xxxxx69免费视频| www.一区二区三区| 在线看一级片| 羞羞视频在线观看免费| 伊人再见免费在线观看高清版| www精品美女久久久tv| 免费国产阿v视频在线观看| 国产精品手机视频| 男人的天堂99| www.视频在线.com| 国产手机视频在线| 免费一二一二在线视频| 欧美三级电影一区二区三区| 91精品国产自产拍在线观看蜜| 熟女av一区二区| 国产区一区二区三| 波多野结衣av在线| 91 视频免费观看| 欧美最猛性xxxxxhd| 国产经典一区| 亚洲综合色噜噜狠狠| 成人av综合一区| 免费观看一级欧美片| 久久日韩精品一区二区五区| av中文一区二区三区| 先锋影音在av资源看片| 丝袜国产日韩另类美女| 午夜欧美一区二区三区在线播放| 日本午夜精品一区二区三区电影| 日本精品视频一区| 国产又爽又黄又舒服又刺激视频| 日韩毛片在线观看| 人人超在线公开视频| 7777精品伊人久久久大香线蕉的| 国产午夜亚洲精品羞羞网站| 国产欧美在线| 久久精品99久久久久久久久| 在线中文字幕亚洲| 国产精品免费网站| 色噜噜一区二区| 色777狠狠狠综合伊人| 久久精品一区| 欧美午夜不卡影院在线观看完整版免费| 日韩视频在线观看一区二区| 欧美亚洲高清一区| 一区二区视频在线播放| caoporen国产精品视频| 欧美xingq一区二区| 精品国产乱码久久久| 激情内射人妻1区2区3区| 精品一区二区三区在线成人| 日韩有码片在线观看| 在线日本成人| 日日骚欧美日韩| 国产污污在线观看| 欧美精品一区二区久久久| 特黄三级视频| 国产精品99免费看| 网站黄色在线观看| 性猛交xxxx乱大交孕妇印度| 在线日韩中文| 亚洲天堂精品在线观看| 亚洲精品色午夜无码专区日韩| 欧美精品在线免费观看| 俺去啦;欧美日韩| 香蕉影视欧美成人| 亚洲欧美变态国产另类| 国产精品99精品无码视亚| 欧美一区二区三区在线播放| 国产美女精品在线| 一区二区三区午夜视频| 色婷婷一区二区三区在线观看| 欧美1区二区三区公司| 深夜福利视频在线观看| 视频一区视频二区视频| 欧美日韩日本国产| 91成人看片| 91高清视频| 国产极品一区二区| 亚洲精品在线观看av| 九色视频成人porny| 国产精品电影一区二区三区| 2020最新国产精品| 成人午夜大片免费观看| 亚洲免费观看在线观看| 亚洲全黄一级网站| 日韩精品视频在线| 亚洲一区二区在线视频观看| 欧美孕妇与黑人孕交| 黄色网页大全| www.91在线播放| 亚洲啊v在线| 91欧美一区二区三区| 蜜桃视频免费网站| 四虎永久在线精品免费网址| 久久精品国产亚洲AV无码男同| av资源中文色综合| 91精品国产91久久综合桃花| 婷婷综合久久一区二区三区| 国产视频精品免费播放| 国产在线观看不卡| 婷婷五月色综合香五月| 国产成人亚洲精品无码h在线| 国产男女在线观看| 九九精品在线播放| 亚洲另类视频| 久久精品亚洲欧美日韩精品中文字幕| 久久精品99久久无色码中文字幕| 污污网站免费观看| 麻豆精品蜜桃视频网站| 久久久精品人体av艺术| 国产精品毛片a∨一区二区三区|国| 一级网站免费观看| 国内精品视频在线播放| 久久久久久国产精品三级玉女聊斋| 96亚洲精品久久久蜜桃| 亚洲韩国日本中文字幕| 日韩精品中文字幕在线一区| 91激情在线视频| а√天堂资源地址在线下载| 久久综合图区亚洲综合图区| 亚洲第一男人av| 满满都是荷尔蒙韩剧在线观看| 日韩欧美一区在线观看| 久久99精品国产.久久久久久| 国产欧美精品日韩精品| 成人免费毛片日本片视频| 欧美最猛性xxxxx喷水| 欧美日韩中文字幕一区二区三区| 99视频免费看| 日韩av电影网| 精品一区二区在线欧美日韩| 国产在线一区观看| 中文字幕人妻一区二区在线视频| 免费观看成年在线视频网站| 国内a∨免费播放| 日本不卡不卡| 国产一级免费在线观看| 久久综合国产精品台湾中文娱乐网| 麻豆亚洲av成人无码久久精品| 亚洲va中文在线播放免费| 亚洲国产日韩综合一区| 亚洲天堂黄色片| 中文字幕av观看| 国产乱码一区二区三区四区| 亚洲国产91精品在线观看| 中文字幕一区二区人妻痴汉电车| 欧美日韩一区成人| 国产男小鲜肉同志免费| 成人做爰69片免费看网站| 精品国产99久久久久久宅男i| 免费黄视频在线观看| xxxxx成人.com| 久久99国产精品二区高清软件| 公侵犯人妻一区二区三区| 有码一区二区三区| 欧美一级特黄高清视频| 秋霞久久久久久一区二区| 欧美日韩在线一区二区| 日韩欧美视频免费在线观看| 久久精品xxxxx| 久久99偷拍| 日韩中文字幕高清在线观看| 亚洲综合色噜噜狠狠| 日韩精品在线不卡| 亚洲黄色一区二区三区| 西西裸体人体做爰大胆久久久| 亚欧日韩另类中文欧美| 国产一区二区三区视频在线观看| 色综合久久久久久| 免费污片软件| 欧美少妇另类| 性色av一区二区三区免费| 日韩一区二区三区精品| 国产99久久久国产精品免费看| 激情视频亚洲| 欧洲亚洲精品久久久久| 四虎4hu永久免费入口| 欧美成a人片在线观看久| 男女一区二区三区| 国产伦精品一区二区三| www.国产在线视频| 精品免费av在线| 合欧美一区二区三区| 99re66热这里只有精品8| 亚洲综合婷婷久久| 国产一卡二卡三卡| 成人福利在线观看视频| 不卡影院免费观看| 亚洲在线观看一区| 国产a级片网站| 韩国av一区二区三区在线观看| 日韩视频免费观看高清完整版| 狠狠色综合一区二区| 欧美日韩中文字幕日韩欧美| 免费一区二区在线观看| 成人深夜视频在线观看| www.eeuss影院| 成人无号精品一区二区三区| 国产精品久久婷婷| 青青草久久网络| 女人色极品影院| 欧美成人在线影院| 西西444www无码大胆| 亚洲蜜桃精久久久久久久| 黄色三级电影网| 四虎国产成人精品免费一女五男| 国产一区二区三区丝袜| 天天综合天天操| 亚洲国产一区二区在线| 国产成人精品亚洲日本在线桃色| 欧美成年人在线观看| 丁香久久五月|