小編給大家分享一下利用Python怎么制作好玩的GIF動圖,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

用Python和matplotlib制作GIF圖表。
假如電腦上沒有安裝ImageMagick,先去這里按照自己的電腦系統(tǒng)下載對應(yīng)版本,如果我們想用matplotlib的save方法渲染GIF動圖,就需要安裝ImageMagick。
下圖是我們制作的一個動圖示例:

有兩點(diǎn)需要注意: 圖表中的散點(diǎn)不會動,會動的是直線。 X軸標(biāo)題每一幀都在變化。
下面是我們制作上面GIF圖的代碼:
import sys
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
fig.set_tight_layout(True)
# 詢問圖形在屏幕上的大小和DPI(每英寸點(diǎn)數(shù))
# 注意當(dāng)把圖形保存為文件時,需要為此單獨(dú)再提供一個DPI
print('fig size: {0} DPI, size in inches {1}'.format(
 fig.get_dpi(), fig.get_size_inches()))
# 繪制一個保持不變(不會被重新繪制)的散點(diǎn)圖以及初始直線
x = np.arange(0, 20, 0.1)
ax.scatter(x, x + np.random.normal(0, 3.0, len(x)))
line, = ax.plot(x, x - 5, 'r-', linewidth=2)
def update(i):
 label = 'timestep {0}'.format(i)
 print(label)
# 更新直線和軸(用一個新X軸標(biāo)簽)
 # 以元組形式返回這一幀需要重新繪制的物體
 line.set_ydata(x - 5 + i)
 ax.set_xlabel(label)
 return line, ax
if __name__ == '__main__':
 # 會為每一幀調(diào)用Update函數(shù)
 # 這里FunAnimation設(shè)置一個10幀動畫,每幀間隔200ms
 anim = FuncAnimation(fig, update, frames=np.arange(0, 10), interval=200)
 if len(sys.argv) > 1 and sys.argv[1] == 'save':
  anim.save('line.gif', dpi=80, writer='imagemagick')
 else:
  # Plt.show()會一直循環(huán)動畫
  plt.show()如果你想換個再酷炫點(diǎn)的主題,可以用seaborn庫,只需添加:
import seaborn
那么就會得到下面這張GIF圖:

稍微提醒一下:雖然我們這里的GIF圖只有10幀,圖形內(nèi)容也很簡單,但每一幀仍有160k左右。因?yàn)镚IF動圖不使用跨幀壓縮,所以這就讓幀比較長的GIF圖變得很大。將幀數(shù)盡量減少,并且讓每一幀的圖像再小一點(diǎn)(通過在matplotlib中調(diào)整圖形大小或DPI)能或多或少有助于緩解這個問題。
看完了這篇文章,相信你對“利用Python怎么制作好玩的GIF動圖”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
                分享題目:利用Python怎么制作好玩的GIF動圖-創(chuàng)新互聯(lián)
                
                網(wǎng)站網(wǎng)址:http://chinadenli.net/article46/gcpeg.html
            
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、營銷型網(wǎng)站建設(shè)、服務(wù)器托管、Google、標(biāo)簽優(yōu)化、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
