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

利用Python如何制作好玩的GIF動(dòng)圖詳解

 更新時(shí)間:2018年07月11日 10:59:20   作者:集智小編  
這篇文章主要給大家介紹了關(guān)于利用Python如何制作好玩的GIF動(dòng)圖的相關(guān)資料,實(shí)現(xiàn)的方法主要利用ImageMagick,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

之前我們分享過用Python進(jìn)行可視化的9種常見方式。其實(shí)我們還能讓可視化圖形逼格更高一些,今天就分享一下如何讓可視化秀起來:用Python和matplotlib制作GIF圖表。

假如電腦上沒有安裝ImageMagick,先去這里按照自己的電腦系統(tǒng)下載對(duì)應(yīng)版本,大家也可以通過腳本之家下載:http://www.fzitv.net/softs/140766.html,如果我們想用matplotlib的save方法渲染GIF動(dòng)圖,就需要安裝ImageMagick。

下圖是我們制作的一個(gè)動(dòng)圖示例:

有兩點(diǎn)需要注意: 圖表中的散點(diǎn)不會(huì)動(dòng),會(huì)動(dòng)的是直線。 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)把圖形保存為文件時(shí),需要為此單獨(dú)再提供一個(gè)DPI
print('fig size: {0} DPI, size in inches {1}'.format(
 fig.get_dpi(), fig.get_size_inches()))

# 繪制一個(gè)保持不變(不會(huì)被重新繪制)的散點(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)
# 更新直線和軸(用一個(gè)新X軸標(biāo)簽)
 # 以元組形式返回這一幀需要重新繪制的物體
 line.set_ydata(x - 5 + i)
 ax.set_xlabel(label)
 return line, ax

if __name__ == '__main__':
 # 會(huì)為每一幀調(diào)用Update函數(shù)
 # 這里FunAnimation設(shè)置一個(gè)10幀動(dòng)畫,每幀間隔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ì)一直循環(huán)動(dòng)畫
  plt.show()

如果你想換個(gè)再酷炫點(diǎn)的主題,可以用seaborn庫(kù),只需添加:

import seaborn

那么就會(huì)得到下面這張GIF圖:

稍微提醒一下:雖然我們這里的GIF圖只有10幀,圖形內(nèi)容也很簡(jiǎn)單,但每一幀仍有160k左右。因?yàn)镚IF動(dòng)圖不使用跨幀壓縮,所以這就讓幀比較長(zhǎng)的GIF圖變得很大。將幀數(shù)盡量減少,并且讓每一幀的圖像再小一點(diǎn)(通過在matplotlib中調(diào)整圖形大小或DPI)能或多或少有助于緩解這個(gè)問題。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

參考資料:drawing-animated-gifs-with-matplotlib/

相關(guān)文章

最新評(píng)論

大余县| 张掖市| 剑川县| 重庆市| 图木舒克市| 新巴尔虎右旗| 禄劝| 宝应县| 监利县| 遵化市| 朔州市| 遵化市| 西昌市| 平邑县| 永泰县| 建昌县| 林周县| 保靖县| 砀山县| 云林县| 卢氏县| 普陀区| 务川| 凤凰县| 平安县| 寿宁县| 大埔区| 阿拉善右旗| 同德县| 行唐县| 上栗县| 宜宾市| 新源县| 大邑县| 楚雄市| 台东市| 雷州市| 东至县| 山东省| 日土县| 平罗县|