Animation de nuages de points dans Matplotlib
Les nuages de points sont un outil utile pour visualiser la relation entre deux ou plusieurs variables. Lorsque les données changent au fil du temps, il peut être utile d'animer le nuage de points pour voir comment la relation évolue.
Mise à jour des positions, des tailles et des couleurs
Pour animer un nuage de points, vous devrez mettre à jour les positions, les tailles ou les couleurs des points à chaque image de l'animation. Cela peut être fait en utilisant respectivement les méthodes set_offsets, set_sizes et set_array de l'objet Scatter.
<code class="python">scat = plt.scatter(x, y, c=c) # Update position scat.set_offsets(new_xy) # Update size scat.set_sizes(new_sizes) # Update color scat.set_array(new_colors)</code>
Utilisation de FuncAnimation
La classe FuncAnimation de matplotlib. Le module d'animation peut être utilisé pour mettre à jour automatiquement le nuage de points à chaque image de l'animation. L'argument init_func est appelé une fois pour initialiser le tracé, tandis que la fonction de mise à jour est appelée à chaque image.
<code class="python">import matplotlib.animation as animation def update(i): # Update data x, y, c = get_data(i) # Update plot scat.set_offsets(x, y) scat.set_array(c) return scat, ani = animation.FuncAnimation(fig, update, interval=5) plt.show()</code>
Exemple
L'exemple suivant crée une animation de un nuage de points où les points se déplacent de manière aléatoire et changent de couleur au fil du temps :
<code class="python">import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation # Create random data num_points = 50 xy = (np.random.rand(2, num_points) - 0.5) * 10 c = np.random.rand(num_points) # Setup figure and axes fig, ax = plt.subplots() scat = ax.scatter(xy[0], xy[1], c=c, s=30) # Define animation update function def update(i): # Update data xy += np.random.rand(2, num_points) * 0.02 c = np.random.rand(num_points) # Update plot scat.set_offsets(xy) scat.set_array(c) return scat, # Create animation ani = animation.FuncAnimation(fig, update, interval=10) plt.show()</code>
Cette animation montrera un nuage de points de 50 points qui se déplacent de manière aléatoire et changent de couleur au fil du temps.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!