Dies ist eine alte Version des Dokuments!
Das unten stehende Beispiel ist aus der Dokumentation von matplotlib
.
Dabei wird das Bild gar nicht angezeigt, sondern direkt in ein Video geschrieben.
Anders als bei der Bildschirmanzeige muss man hier nicht fig.canvas.draw()
aufrufen,
um das in Daten bereits vorhandene Bild zu erzeugen.
Durch matplotlib.use(„Agg“)
wird dafür gesorgt, dass nicht auf dem Bildschirm
gezeichnet wird, sondern alle Graphiken als Einträge für eine png
-Datei erzeugt
werden. Diese werden durch grab_frame
an den writer
weitergereicht, der
daraus eine (komprimierte) Video-Datei macht.
# -*- noplot -*- import numpy as np import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt import matplotlib.animation as manimation FFMpegWriter = manimation.writers['ffmpeg'] metadata = dict(title='Movie Test', artist='Matplotlib', comment='Movie support!') writer = FFMpegWriter(fps=15, metadata=metadata) fig = plt.figure() l, = plt.plot([], [], 'k-o') plt.xlim(-5, 5) plt.ylim(-5, 5) x0,y0 = 0, 0 with writer.saving(fig, "writer_test.mp4", 100): for i in range(100): x0 += 0.1 * np.random.randn() y0 += 0.1 * np.random.randn() l.set_data(x0, y0) writer.grab_frame()