最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用matplotlib創(chuàng)建Gif動圖的實(shí)現(xiàn)

 更新時(shí)間:2022年04月19日 09:05:35   作者:bashendixie5  
本文主要介紹了使用matplotlib創(chuàng)建Gif動圖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1、Matplotlib 簡介

數(shù)據(jù)可視化有助于更有效地講述有關(guān)數(shù)據(jù)的故事并使其易于呈現(xiàn)。有時(shí)很難用靜態(tài)圖表來解釋數(shù)據(jù)的變化,為此,我們將討論matplotlib提供的名為“Animation”的動畫庫之一。以下是要涵蓋的主題。

最流行的Python二維繪圖庫是Matplolib。大多數(shù)人從Matplotlib開始他們的探索性數(shù)據(jù)分析之旅。它可以輕松創(chuàng)建繪圖、直方圖、條形圖、散點(diǎn)圖等。與Pandas和Seaborn一樣,它可以創(chuàng)建更復(fù)雜的視覺效果。

但是也有一些缺陷:

Matplotlib的命令式 API,通常過于冗長。

有時(shí)糟糕的風(fēng)格默認(rèn)值。

對網(wǎng)絡(luò)和交互式圖表的支持不佳。

對于大型和復(fù)雜的數(shù)據(jù)通常很慢。

2、繪制動畫正弦和余弦波

參考代碼如下

import matplotlib.animation as anime
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
 
fig = plt.figure()
l, = plt.plot([], [], 'k-')
l2, = plt.plot([], [], 'm--')
p1, = plt.plot([], [], 'ko')
p2, = plt.plot([], [], 'mo')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
plt.title('title')
 
plt.xlim(-5, 5)
plt.ylim(-5, 5)
 
 
def func(x):
    return np.sin(x) * 3
 
 
def func2(x):
    return np.cos(x) * 3
 
 
metadata = dict(title="Movie", artist="sourabh")
writer = anime.PillowWriter(fps=15, metadata=metadata)
 
xlist = []
ylist = []
ylist2 = []
xlist2 = []
with writer.saving(fig, "sin+cosinewave.gif", 100):
    for xval in np.linspace(-5, 5, 100):
        xlist.append(xval)
        ylist.append(func(xval))
 
        l.set_data(xlist, ylist)
        l2.set_data(xlist2, ylist2)
 
        p1.set_data(xval, func(xval))
 
        writer.grab_frame()
    for xval in np.linspace(-5, 5, 100):
        xlist2.append(xval)
        ylist2.append(func2(xval))
 
        l.set_data(xlist, ylist)
        l2.set_data(xlist2, ylist2)
 
        p2.set_data(xval, func2(xval))
 
        writer.grab_frame()

動畫效果圖如下。

3、繪制曲面圖

參考代碼如下,這段代碼會運(yùn)行一段時(shí)間。

import matplotlib
from matplotlib import cm
import matplotlib.animation as anime
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
 
np.random.seed(29680801)
 
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
 
plt.xlim(-5, 5)
plt.ylim(-5, 5)
 
metadata = dict(title="Movie", artist="sourabh")
writer = anime.PillowWriter(fps=15, metadata=metadata)
 
def func(x, y, r, t):
    return np.cos(r / 2 + t) * np.exp(-np.square(r) / 50)
 
xdata = np.linspace(-10, 10, 1000)
ydata = np.linspace(-10, 10, 1000)
 
x_list, y_list = np.meshgrid(xdata, ydata)
r_list = np.sqrt(np.square(x_list) + np.square(y_list))
 
with writer.saving(fig, "exp3d.gif", 100):
    for t in np.linspace(0, 20, 160):
        z = func(x_list, y_list, r_list, t)
        ax.set_zlim(-1, 1)
        ax.plot_surface(x_list, y_list, z, cmap=cm.viridis)
        writer.grab_frame()
        plt.cla()
 

動畫效果如下 

 4、繪制回歸圖

參考代碼如下

import matplotlib
from matplotlib import cm
import matplotlib.animation as anime
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
 
np.random.seed(23680545)
 
metadata = dict(title="Movie", artist="sourabh")
writer = anime.PillowWriter(fps=15, metadata=metadata)
 
fig = plt.figure()
plt.xlim(-8, 8)
plt.ylim(-8, 8)
 
 
def func(x):
    return x * 1.2 + 0.1 + np.random.normal(0, 2, x.shape)
 
 
x = np.random.uniform(-7, 7, 10)
x = np.sort(x)
y = func(x)
 
coeff = np.polyfit(x, y, 1)
print(coeff)
xline = np.linspace(-6, 6, 40)
yline = np.polyval(coeff, xline)
 
lPnt, = plt.plot(x, y, 'o')
l, = plt.plot(xline, yline, 'k-', linewidth=3)
 
plt.show()
 
fig = plt.figure()
plt.xlim(-10, 10)
plt.ylim(-10, 10)
 
lPnt, = plt.plot([], [], 'o')
l, = plt.plot([], [], 'k-', linewidth=3)
 
x_List = []
y_List = []
 
x_pnt = []
y_pnt = []
 
with writer.saving(fig, "fitPlot.gif", 100):
    for xval, yval in zip(x, y):
        x_pnt.append(xval)
        y_pnt.append(yval)
 
        lPnt.set_data(x_pnt, y_pnt)
        l.set_data(x_List, y_List)
 
        writer.grab_frame()
        writer.grab_frame()
 
    for x_val, y_val in zip(xline, xline):
        x_List.append(x_val)
        y_List.append(y_val)
 
        lPnt.set_data(x_pnt, y_pnt)
        l.set_data(x_List, y_List)
 
        writer.grab_frame()
 
    for i in range(10):
        writer.grab_frame()

效果圖如下

 到此這篇關(guān)于使用matplotlib創(chuàng)建Gif動圖的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)matplotlib創(chuàng)建Gif動圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 對xml解析的示例

    python 對xml解析的示例

    這篇文章主要介紹了python 如何對xml解析,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02
  • Python使用Pandas生成日報(bào)的實(shí)現(xiàn)代碼

    Python使用Pandas生成日報(bào)的實(shí)現(xiàn)代碼

    Pandas是Python中一個強(qiáng)大的數(shù)據(jù)處理庫,它提供了許多功能強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,在本文中,我們將介紹Pandas的基本概念和如何使用它生成一個包含今天到未來20個工作日的日期列表的Excel文件,需要的朋友可以參考下
    2023-11-11
  • python獲取交互式ssh shell的方法

    python獲取交互式ssh shell的方法

    今天小編就為大家分享一篇python獲取交互式ssh shell的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • PyQt使用QPropertyAnimation開發(fā)簡單動畫

    PyQt使用QPropertyAnimation開發(fā)簡單動畫

    這篇文章主要介紹了PyQt使用QPropertyAnimation開發(fā)簡單動畫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python實(shí)現(xiàn)RGB與YCBCR顏色空間轉(zhuǎn)換

    python實(shí)現(xiàn)RGB與YCBCR顏色空間轉(zhuǎn)換

    這篇文章主要介紹了python實(shí)現(xiàn)RGB與YCBCR顏色空間轉(zhuǎn)換,RGB與YCbCr顏色空間概念的與變換關(guān)系,包括內(nèi)容灰度值和亮度的關(guān)系、RGB顏色空間與顏色控制、YCbCr顏色空間及與RGB的變換關(guān)系,需要的小伙伴可以參考一下
    2022-03-03
  • 如何使用Python自動生成報(bào)表并以郵件發(fā)送

    如何使用Python自動生成報(bào)表并以郵件發(fā)送

    這篇文章主要介紹了如何使用Python自動生成報(bào)表并以郵件發(fā)送,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-10-10
  • Python函數(shù)式編程之面向過程面向?qū)ο蠹昂瘮?shù)式簡析

    Python函數(shù)式編程之面向過程面向?qū)ο蠹昂瘮?shù)式簡析

    這一番我們要學(xué)習(xí)點(diǎn)有難度的了,因此將降低閱讀與理解難度,盡量采用大白話為你鋪墊,因?yàn)樯婕暗囊恍└拍钜彩墙梃b的其它編程語言的風(fēng)格,而且實(shí)際落地中存在部分爭議不過多學(xué)一點(diǎn),總是沒有壞處的
    2021-09-09
  • Python錯誤處理操作示例

    Python錯誤處理操作示例

    這篇文章主要介紹了Python錯誤處理操作,結(jié)合實(shí)例形式分析了Python使用try...except...finaly語句進(jìn)行錯誤處理的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • Python實(shí)現(xiàn)使用卷積提取圖片輪廓功能示例

    Python實(shí)現(xiàn)使用卷積提取圖片輪廓功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)使用卷積提取圖片輪廓功能,涉及Python數(shù)值運(yùn)算與圖像處理相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • 詳談python http長連接客戶端

    詳談python http長連接客戶端

    下面小編就為大家?guī)硪黄斦刾ython http長連接客戶端。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

南雄市| 德兴市| 丹巴县| 南充市| 绍兴县| 莆田市| 水富县| 吉木乃县| 和田市| 乐清市| 柳江县| 军事| 江西省| 稻城县| 弋阳县| 隆昌县| 财经| 黔江区| 洛扎县| 平陆县| 玛纳斯县| 民勤县| 巨野县| 永川市| 商水县| 新绛县| 达拉特旗| 西和县| 无锡市| 巴青县| 丰镇市| 五指山市| 罗江县| 湟源县| 怀来县| 山东省| 随州市| 高雄市| 潞城市| 开阳县| 洛川县|