47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
|
"""
|
||
|
=========================
|
||
|
Simple animation examples
|
||
|
=========================
|
||
|
|
||
|
This example contains two animations. The first is a random walk plot. The
|
||
|
second is an image animation.
|
||
|
"""
|
||
|
|
||
|
import numpy as np
|
||
|
import matplotlib.pyplot as plt
|
||
|
import matplotlib.animation as animation
|
||
|
|
||
|
|
||
|
def update_line(num, data, line):
|
||
|
line.set_data(data[..., :num])
|
||
|
return line,
|
||
|
|
||
|
fig1 = plt.figure()
|
||
|
|
||
|
data = np.random.rand(2, 25)
|
||
|
l, = plt.plot([], [], 'r-')
|
||
|
plt.xlim(0, 1)
|
||
|
plt.ylim(0, 1)
|
||
|
plt.xlabel('x')
|
||
|
plt.title('test')
|
||
|
line_ani = animation.FuncAnimation(fig1, update_line, 25, fargs=(data, l),
|
||
|
interval=50, blit=True)
|
||
|
|
||
|
# To save the animation, use the command: line_ani.save('lines.mp4')
|
||
|
|
||
|
fig2 = plt.figure()
|
||
|
|
||
|
x = np.arange(-9, 10)
|
||
|
y = np.arange(-9, 10).reshape(-1, 1)
|
||
|
base = np.hypot(x, y)
|
||
|
ims = []
|
||
|
for add in np.arange(15):
|
||
|
ims.append((plt.pcolor(x, y, base + add, norm=plt.Normalize(0, 30)),))
|
||
|
|
||
|
im_ani = animation.ArtistAnimation(fig2, ims, interval=50, repeat_delay=3000,
|
||
|
blit=True)
|
||
|
# To save this second animation with some metadata, use the following command:
|
||
|
# im_ani.save('im.mp4', metadata={'artist':'Guido'})
|
||
|
|
||
|
plt.show()
|