Home  >  Article  >  Backend Development  >  Python simple drawing animation example through matplotlib

Python simple drawing animation example through matplotlib

小云云
小云云Original
2017-12-14 10:42:193683browse

Matplotlib is a Python 2D plotting library that produces publication-quality graphics in a variety of hardcopy formats and in a cross-platform interactive environment. With Matplotlib, developers can generate plots, histograms, power spectra, bar charts, error plots, scatter plots, etc. with just a few lines of code. This article mainly introduces a simple example of Python drawing animation through matplotlib, which has certain reference value. Friends in need can refer to it. I hope it can help everyone.

matplotlib has supported drawing animation since version 1.1.0. For specific usage, please refer to the official help document. Here is a very basic example:

"""
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() 会一直循环播放动画

Result:

If you want to save the animation as For video files in mp4 format, you need to install FFmpeg first. FFmpeg is a set of open source computer programs that can be used to record, convert digital audio and video, and convert them into streams. Use LGPL or GPL license. It provides a complete solution for recording, converting and streaming audio and video.

Download the windows version here: DownloadFFmpegforWindows, unzip it, and then add the bin directory to the path of the system environment variable. For example: C:\ProgramFiles\ffmpeg-3.2.2-win64-static\bin. Then test whether the configuration is OK: enter ffmpeg-version

I believe you have a better understanding of matplotlib and you can try it.

Related recommendations:

Python matplotlib coordinate axis setting method

matplotlib draws pictures that meet the requirements of the paper

Detailed explanation of python using matplotlib drawing

The above is the detailed content of Python simple drawing animation example through matplotlib. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn