Вот простой код, который демонстрирует, что я хочу сделать.Точка - это верхушка нити, которая растет и сжимается случайным образом.Когда происходит сжатие, я хочу, чтобы линия тоже уменьшалась, вместо того, чтобы восстанавливать уже видимую более длинную линию (в основном на каждом шаге анимации точка должна быть видимой как конечная точка линии).Наконечник показывает, растет ли нить накала или уменьшается.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
X = [1,2,3,4,5,6,7,7,6,5,4,3,4,5,6,7,8]
Y = [1,2,3,4,5,6,7,7,6,5,4,3,4,5,6,7,8]
fig, ax = plt.subplots(1,1)
ax.set_xlim([0, 20])
ax.set_ylim([-1.1, 20])
graph, = ax.plot([], [], color = ''green)
dot, = ax.plot([], [], 'o', color='green', markersize = 4)
def oj(i):
graph.set_data(X[:i+1],Y[:i+1])
dot.set_data(X[i],Y[i])
anim = animation.FuncAnimation(fig, oj, frames=len(X), interval=1000,repeat
= False)
plt.show()