Продолжительность анимации Matplotlib и почему она не остановится - PullRequest
0 голосов
/ 07 июля 2019

продолжительность анимации matplotlib объяснил, что в основном аргумент franes в FuncAnimation определяет общее количество кадров, которые он должен анимировать.Однако, когда я запускаю пример кода, он, кажется, работает постоянно.Я ожидал, что фига перестанет обновляться через 4 секунды, но это не так.Есть ли какая-то петля, которую мне нужно отключить?Благодарю.Я запустил его на Python 3.7 и matplotlib 3.0.3

import numpy as np 
from matplotlib import pyplot as plt 
from matplotlib import animation

fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2,2))
line, = ax.plot([], [], lw=2)

# init func, plot the background of each frame. 
def init():
    line.set_data([], [])
    return line, 

def animate(i):
    x = np.linspace(0, 2, 1000)
    y = np.sin(2 * np.pi * (x - 0.01 * i))
    line.set_data(x, y)
    return line, 

anim = animation.FuncAnimation(fig, animate, init_func=init, frames=200, interval=20, blit=True)
plt.show()

Ответы [ 2 ]

1 голос
/ 07 июля 2019

Вам нужно repeat=False в вашем FuncAnimation звонке.

Оформить заказ, пожалуйста https://matplotlib.org/api/_as_gen/matplotlib.animation.FuncAnimation.html#matplotlib.animation.FuncAnimation

repeat : bool, optional

    Controls whether the animation should repeat when the sequence of frames is completed. Defaults to True.
0 голосов
/ 07 июля 2019

По умолчанию он повторяет анимацию, но вы можете использовать

FuncAnimation(... , repeat=False)

Док: FuncAniamtion

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...