Matplotlib是一個Python的2D繪圖庫,它以各種硬拷貝格式和跨平台的互動式環境產生出版品質等級的圖形。透過Matplotlib,開發者可以只需要幾行程式碼,便可以產生繪圖,直方圖,功率譜,長條圖,錯誤圖,散佈圖等。本文主要介紹了Python透過matplotlib繪製動畫簡單實例,具有一定藉鏡價值,需要的朋友可以參考下,希望能幫助大家。
matplotlib從1.1.0版本以後就開始支援繪製動畫,具體使用可以參考官方說明文件。以下是一個很基本的範例:
""" A simple example of an animated plot """ import numpy as np from matplotlib import pyplot as plt from matplotlib import animation # First set up the figure, the axis, and the plot element we want to animate fig = plt.figure() # create our line object which will be modified in the animation ax = plt.axes(xlim=(0, 2), ylim=(-2, 2)) # we simply plot an empty line: we'll add data to the line later line, = ax.plot([], [], lw=2) # initialization function: plot the background of each frame def init(): line.set_data([], []) return line, # animation function. This is called sequentially # It takes a single parameter, the frame number i def animate(i): x = np.linspace(0, 2, 1000) y = np.sin(2 * np.pi * (x - 0.01 * i)) # update the data line.set_data(x, y) return line, # Makes an animation by repeatedly calling a function func # frames can be a generator, an iterable, or a number of frames. # interval draws a new frame every interval milliseconds. # blit=True means only re-draw the parts that have changed. # 在这里设置一个200帧的动画,每帧之间间隔20毫秒 anim = animation.FuncAnimation(fig, animate, init_func=init, frames=200, interval=20, blit=True) # save the animation as an mp4. This requires ffmpeg or mencoder to be # installed. The extra_args ensure that the x264 codec is used, so that # the video can be embedded in html5. You may need to adjust this for # your system: for more information, see # http://matplotlib.sourceforge.net/api/animation_api.html anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264']) plt.show() # plt.show() 会一直循环播放动画
結果:
如果要將動畫儲存為mp4格式的影片文件,則需要先安裝FFmpeg。 FFmpeg是一套可以用來錄製、轉換數位音頻、視頻,並能將其轉換為串流的開源電腦程式。採用LGPL或GPL授權。它提供了錄製、轉換以及串流影音的完整解決方案。
在這裡下載windows的版本:DownloadFFmpegforWindows,解壓縮,然後將bin目錄加入系統環境變數的路徑中。如:C:\ProgramFiles\ffmpeg-3.2.2-win64-static\bin。然後測試是否配置OK:輸入ffmpeg-version
相信大家對matplotlib又有進一步的了解,大家可以動手嘗試一下。
相關推薦:
#以上是Python透過matplotlib簡單繪製動畫實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!