matplotlib est un module de dessin graphique de python, et vous pouvez également créer des animations. En d'autres termes, c'est une bonne idée que les frères aînés qui meurent s'ils ne regardent pas l'animation à minuit apprennent matplotlib.
Donc, comme un exemple très simple, écrivez du code qui décrit simplement les nombres aléatoires générés par numpy.
Cliquez ici pour le document officiel. http://matplotlib.org/api/animation_api.html
ArtistAnimation
Il existe deux types d'animations matplotlib, ArtistAnimation et FuncAnimation. ArtistAnimation prépare tous les graphiques à l'avance sous la forme d'un tableau et les lit un par un.
artistanimation.py
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig = plt.figure()
ims = []
for i in range(10):
rand = np.random.randn(100) #Générer 100 nombres aléatoires
im = plt.plot(rand) #Graphique des nombres aléatoires
ims.append(im) #Ajouter un graphique au tableau ims
#Afficher 10 graphiques toutes les 100 ms
ani = animation.ArtistAnimation(fig, ims, interval=100)
plt.show()
C'était un peu comme une onde radio. Si vous voulez regarder un anime après avoir travaillé tard le soir, c'est une bonne idée de regarder ce genre de chose. Lors de l'enregistrement d'une vidéo au format GIF, à la fin
plt.show()
Partie de
ani.save("output.gif", writer="imagemagick")
Il est bon de réécrire. (Nécessite un package appelé imagemagick) Il semble qu'il peut sortir en MP4, mais je ne l'ai pas fait car c'est un peu gênant.
FuncAnimation
Cela ne passe pas le graphe préfini, mais exécute la fonction pour chaque image de l'animation. Utile si les données sont trop volumineuses ou potentiellement infinies.
funcanimation.py
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig = plt.figure()
def plot(data):
plt.cla() #Effacer le graphique actuellement dessiné
rand = np.random.randn(100) #Générer 100 nombres aléatoires
im = plt.plot(rand) #Générer un graphique
ani = animation.FuncAnimation(fig, plot, interval=100)
plt.show()
Comme cela crée dynamiquement un graphique, la plage sur l'axe vertical change à chaque fois en fonction du nombre aléatoire.
Lors de la sortie au format GIF, contrairement à l'animation d'artiste, la fin n'est pas spécifiée, donc
ani = animation.FuncAnimation(fig, plot, interval=100, frames=10)
ani.save("output.gif", writer="imagemagick")
Spécifiez le nombre d'images à l'avance sous la forme «frames = 10».
Recommended Posts