如何在同一图形上的多个动画之间创建延迟(matplotlib,python)
How to create a delay between mutiple animations on the same graph (matplotlib, python)
这是对上一个问题的引用
two lines matplotib animation
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
x = np.arange(130, 190, 1)
y = 97.928 * np.exp(- np.exp(- 0.1416 *( x - 146.1 )))
z = 96.9684 * np.exp(- np.exp(-0.1530*( x - 144.4)))
fig, ax = plt.subplots()
line1, = ax.plot(x, y, color = "r")
line2, = ax.plot(x, z, color = "g")
def update(num, x, y, z, line1, line2):
line1.set_data(x[:num], y[:num])
line2.set_data(x[:num], z[:num])
return [line1,line2]
ani = animation.FuncAnimation(fig, update, len(x), fargs=[x, y, z, line1, line2],
interval=295, blit=True)
ax.set_xlabel('Age (day)')
ax.set_ylabel('EO (%)')
plt.show()
我想绘制图形,它首先为绿线设置动画,然后为橙色线设置动画。
目前它同时对两条线进行动画处理。
https://i.stack.imgur.com/ZDlXu.gif
你可以把步数加倍,先画第一条曲线,再画另一条。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
x = np.arange(130, 190, 1)
y = 97.928 * np.exp(- np.exp(- 0.1416 * (x - 146.1)))
z = 96.9684 * np.exp(- np.exp(-0.1530 * (x - 144.4)))
fig, ax = plt.subplots()
line1, = ax.plot(x, y, color="r")
line2, = ax.plot(x, z, color="g")
def update(num, x, y, z, line1, line2):
if num < len(x):
line1.set_data(x[:num], y[:num])
line2.set_data([], [])
else:
line2.set_data(x[:num - len(x)], z[:num - len(x)])
return [line1, line2]
ani = animation.FuncAnimation(fig, update, 2 * len(x), fargs=[x, y, z, line1, line2],
interval=295, blit=True)
ax.set_xlabel('Age (day)')
ax.set_ylabel('EO (%)')
plt.show()
这是对上一个问题的引用
two lines matplotib animation
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
x = np.arange(130, 190, 1)
y = 97.928 * np.exp(- np.exp(- 0.1416 *( x - 146.1 )))
z = 96.9684 * np.exp(- np.exp(-0.1530*( x - 144.4)))
fig, ax = plt.subplots()
line1, = ax.plot(x, y, color = "r")
line2, = ax.plot(x, z, color = "g")
def update(num, x, y, z, line1, line2):
line1.set_data(x[:num], y[:num])
line2.set_data(x[:num], z[:num])
return [line1,line2]
ani = animation.FuncAnimation(fig, update, len(x), fargs=[x, y, z, line1, line2],
interval=295, blit=True)
ax.set_xlabel('Age (day)')
ax.set_ylabel('EO (%)')
plt.show()
我想绘制图形,它首先为绿线设置动画,然后为橙色线设置动画。
目前它同时对两条线进行动画处理。
https://i.stack.imgur.com/ZDlXu.gif
你可以把步数加倍,先画第一条曲线,再画另一条。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
x = np.arange(130, 190, 1)
y = 97.928 * np.exp(- np.exp(- 0.1416 * (x - 146.1)))
z = 96.9684 * np.exp(- np.exp(-0.1530 * (x - 144.4)))
fig, ax = plt.subplots()
line1, = ax.plot(x, y, color="r")
line2, = ax.plot(x, z, color="g")
def update(num, x, y, z, line1, line2):
if num < len(x):
line1.set_data(x[:num], y[:num])
line2.set_data([], [])
else:
line2.set_data(x[:num - len(x)], z[:num - len(x)])
return [line1, line2]
ani = animation.FuncAnimation(fig, update, 2 * len(x), fargs=[x, y, z, line1, line2],
interval=295, blit=True)
ax.set_xlabel('Age (day)')
ax.set_ylabel('EO (%)')
plt.show()