首頁>技術>

1 說明:

=====

1.1 Celluloid的matplotlib動畫介紹國內很少,我的第一篇文章:

1.2 本次講解紅綠燈的設計,熟悉Celluloid、Matplotlib和Python。

1.3 效果圖

2 程式碼講解:

=========

2.1 匯入模組

# -*- coding: utf-8 -*- #第1步:匯入模組from matplotlib import pyplot as pltfrom celluloid import Camera

2.2 視窗和畫布設定

#第2步:視窗和畫布設定fig = plt.figure(figsize=(8, 8))#個人愛好,背景顏色為黑色#畫布外的背景顏色設定fig.patch.set_facecolor('black')#定義畫布的背景顏色設定ax=fig.gca()ax.set_facecolor("black")#可註釋掉#視窗標題名fig.canvas.set_window_title('紅綠燈示意圖')#圖示標題名plt.title('紅綠燈示意圖',color='white')#掛入攝像頭camera = Camera(fig)

2.3 初始化資料

#第3步:初始化資料#增加一頭一尾兩個黑燈,主要是散點顯示不全#y座標y=[1.5,1.6,1.7,1.8,1.9]#x座標x=[2,2,2,2,2]#散點顏色rld=['black','green','yellow','red','black']

2.4 迴圈

#第4步:迴圈for i in range(5):    #散點大小設定s    plt.scatter(x[i],y[i],marker='o',s=4000,color=rld[i])    #即snap只是圖示內的攝像,圖示標題一旦攝像就是不能更改    camera.snap()

2.5 動畫設定和顯示

#第5步:動畫設定和顯示#預設interval=200太快了animation = camera.animate(interval=2000)#儲存#animation.save('redgreenlight.gif', writer = 'imagemagick')#全黑背景要不要這個無所謂plt.axis('off') #座標軸不顯示plt.show()

3 小結

注意:celluloid動畫設定超級簡單化matplotlib,但是也只是對畫布裡面的圖示進行攝像和動畫,假若對標題名進行資料可變,是不能進行動畫顯示的。

即:對下面無效。

#視窗標題名fig.canvas.set_window_title('紅綠燈示意圖')#圖示標題名plt.title('紅綠燈示意圖',color='white')

什麼意思?

就是下面e和count的動態數字顯示是無效的。

自己整理並分享出來。

26
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Win與Ubuntu檔案共享