Не уверен, правильно ли я читаю требования, но ниже приведен план. Пожалуйста, измените его в соответствии с вашими требованиями. Возможно, вы захотите изменить функцию Redraw_Function и отредактировать кадры ( параметр ключевого слова , который равен np.arange (1,5,1)) в вызове FuncAnimation. Кроме того, интервал = 1000 означает задержку в 1000 миллисекунд.
Если вы используете Jupyter, закомментируйте вторую последнюю строку (где написано plt.show ()) и раскомментируйте последнюю строку. Это победит вашу цель обновления в реальном времени, но я извиняюсь, у меня были проблемы с тем, чтобы это работало в реальном времени в Jupyter. Однако, если вы используете консоль Python или официальный IDLE, пожалуйста, запустите код как есть. Это должно работать хорошо.
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
plot, = plt.plot([],[])
def init_function():
ax.set_xlim(0,50)
ax.set_ylim(0,250)
return plot,
def Redraw_Function(UpdatedVal):
new_x = np.arange(500)*UpdatedVal
new_y = np.arange(500)**2*UpdatedVal
plot.set_data(new_x,new_y)
return plot,
Animated_Figure = FuncAnimation(fig,Redraw_Function,init_func=init_function,frames=np.arange(1,5,1),interval=1000)
plt.show()
# Animated_Figure.save('MyAnimated.gif',writer='imagemagick')
Когда вы запустите код, вы получите следующий результат. Я пытался сохранить очень мало кода, но мне жаль, если ваше требование было совершенно другим.
С наилучшими пожеланиями,
