Animare i grafici in Python
In questo articolo, ti mostrerò come animare i grafici in Python usando Matplotlib , così puoi aggiungere un bel tocco alle tue visualizzazioni!
Matplotlib
Matplotlib è un pacchetto di plottaggio per il linguaggio di programmazione Python. È uno dei pacchetti più popolari per le visualizzazioni in Python e offre agli utenti la possibilità di creare trame 2D, 3D e persino animate. Matplotlib offre una gamma di opzioni personalizzabili per la creazione di grafici, inclusi grafici a linee, grafici a dispersione, grafici a barre e istogrammi. Poiché molte persone hanno già familiarità con l'utilizzo di Matplotlib per le visualizzazioni statiche, tratterò il suo utilizzo per i grafici animati. Per coloro che potrebbero essere nuovi a Matplotlib, ma hanno già familiarità con Python, ecco un'ottima risorsa per iniziare con il pacchetto.
Trama animata 2D di base
#Empty lists for X/Y data
x = []
y = []
#Create a figure and axis to plot on
fig, ax = plt.subplots()
#We will create a function that will be called by Matplotlib's FuncAnimation
def getAnimation(iterator):
newInt = random.randint(1,10)
#Append values to our lists
x.append(iterator)
y.append(newInt)
#Clear previous data from the plot
ax.clear()
#Plot the lists with axis limits
ax.plot(x, y)
ax.set_xlim([0,20])
ax.set_ylim([0,20])
#We pass FuncAnimation our getAnimation function so that it is called in a loop
animation = FuncAnimation(fig, getAnimation, frames=20,
interval=500, repeat=False)
plt.show()
FuncAnimation() fornito tramite Matplotlib richiede una figura e una funzione che verranno eseguite in un ciclo con un certo numero di fotogrammi. Passando getAnimation() come argomento, stiamo essenzialmente creando una presentazione di grafici che si combinano per formare un'animazione, ripetendo il numero di frame per numero di volte. Questo è il risultato del nostro codice...
Un'animazione casuale 3-D Walk
#Empty lists for X/Y/Z data
x = []
y = []
z = []
#Lets start off at (10,10,10) the center of our figure with axis limits 20
x.append(10)
y.append(10)
z.append(10)
#Total number of steps we will take
stepTotal = 20
#Create a figure and axis to plot on (3-D)
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
#We will create a function that will be called by Matplotlib's FuncAnimation
def randomWalk(step):
#Append values to our lists
x.append(random.uniform(1,10))
y.append(random.uniform(1,10))
z.append(random.uniform(1,10))
#Clear previous data from the plot
ax.clear()
#Plot the lists with axis limits
ax.plot(x, y, z)
ax.set_xlim([0,20])
ax.set_ylim([0,20])
ax.set_zlim([0,20])
# Creating the Animation object
animation = FuncAnimation(fig, randomWalk, frames=stepTotal, interval=100)
plt.show()
Salvataggio di animazioni
#FuncAnimation() returns an animation object that can be stored
animation = FuncAnimation()
#Instantiate the directory you wish to save to
directory = "/medium/animation.gif"
#We call .save() on our animation object and pass the function a directory
animation.save(directory)
Tutto il codice in questo articolo può essere trovato sul mio Github .
Se hai trovato interessante questo articolo di Medium, considera di seguirmi! Scrivo di matematica, informatica e tutto il resto!

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































