Animation pausieren und fortsetzen#

Dieses Beispiel zeigt

  • Verwendung der Methode Animation.pause(), um eine Animation zu pausieren.

  • Verwendung der Methode Animation.resume(), um eine Animation fortzusetzen.

Hinweis

Dieses Beispiel demonstriert die interaktiven Fähigkeiten von Matplotlib und wird nicht in der statischen Dokumentation angezeigt. Bitte führen Sie diesen Code auf Ihrem Computer aus, um die Interaktivität zu sehen.

Sie können einzelne Teile kopieren und einfügen oder das gesamte Beispiel über den Link am Ende der Seite herunterladen.

Ausgabe generiert über matplotlib.animation.Animation.to_jshtml.

Click to pause/resume the animation
import matplotlib.pyplot as plt
import numpy as np

import matplotlib.animation as animation


class PauseAnimation:
    def __init__(self):
        fig, ax = plt.subplots()
        ax.set_title('Click to pause/resume the animation')
        x = np.linspace(-0.1, 0.1, 1000)

        # Start with a normal distribution
        self.n0 = (1.0 / ((4 * np.pi * 2e-4 * 0.1) ** 0.5)
                   * np.exp(-x ** 2 / (4 * 2e-4 * 0.1)))
        self.p, = ax.plot(x, self.n0)

        self.animation = animation.FuncAnimation(
            fig, self.update, frames=200, interval=50, blit=True)
        self.paused = False

        fig.canvas.mpl_connect('button_press_event', self.toggle_pause)

    def toggle_pause(self, *args, **kwargs):
        if self.paused:
            self.animation.resume()
        else:
            self.animation.pause()
        self.paused = not self.paused

    def update(self, i):
        self.n0 += i / 100 % 5
        self.p.set_ydata(self.n0 % 20)
        return (self.p,)


pa = PauseAnimation()
plt.show()

Galerie generiert von Sphinx-Gallery