我试图在 matplotlib 中对线条和散点图进行动画处理,并编写了以下 Python 脚本:-
from a import Pitch, get_points
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
pitch = Pitch(line_color='grey', pitch_color='#121212', orientation='horizontal')
fig, ax = pitch.create_pitch()
x_start, y_start = (50, 35)
x_end, y_end = (90, 45)
x_1, y_1 = get_points(x_start, y_start, x_end, y_end, 0.55)
x_2, y_2 = get_points(x_end, y_end, x_start, y_start, 0.55)
x = np.linspace(x_1, x_2, 50)
y = np.linspace(y_1, y_2, 50)
sc_1 = ax.scatter([], [], color="green", zorder=4)
line, = ax.plot([], [], color="crimson", zorder=4)
sc_2 = ax.scatter([], [], color="gold", zorder=4)
def animate(i):
## plot scatter point
sc_1.set_offsets([x_start, y_start])
## plot line
line.set_data(x[:i], y[:i])
## plot scatter point
sc_2.set_offsets([x_end, y_end])
return sc_1, line, sc_2
ani = animation.FuncAnimation(
fig=fig, func=animate, interval=20, blit=True, save_count=50)
plt.show()
我想要的是:在红线到达黄点的位置后,黄色散点应该出现在图中。我的程序从一开始就显示黄点,我希望它在动画结束时弹出。
我可以在代码中添加/更新什么来进行所需的更改?
萧十郎
相关分类