Maison >développement back-end >Tutoriel Python >Comment créer des nuages de points animés avec des couleurs, des tailles et des positions changeantes ?
Problème : Créer un nuage de points animé où les couleurs, les tailles et les positions des points changent dynamiquement en fonction d'une matrice de données donnée.
Format des données :
Objectif : Animez un nuage de points avec les fonctionnalités suivantes :
Solution :
Voici un modèle de code qui montre comment créer un nuage de points animé avec des couleurs, des tailles et des positions changeantes. :
<code class="python">import matplotlib.pyplot as plt import numpy as np import matplotlib.animation as animation # Generate random data numpoints = 50 x, y, s, c = next(data_stream()).T # Create a figure and axes fig, ax = plt.subplots() # Create a scatter plot and set its initial data scat = ax.scatter(x, y, c=c, s=s, vmin=0, vmax=1, cmap="jet", edgecolor="k") # Initialize FuncAnimation ani = animation.FuncAnimation(fig, update, interval=5, init_func=setup_plot, blit=True) # Setup plot def setup_plot(): ax.axis([-10, 10, -10, 10]) return scat, # Data stream generator def data_stream(): xy = (np.random.random((numpoints, 2))-0.5)*10 s, c = np.random.random((numpoints, 2)).T while True: xy += 0.03 * (np.random.random((numpoints, 2)) - 0.5) s += 0.05 * (np.random.random(numpoints) - 0.5) c += 0.02 * (np.random.random(numpoints) - 0.5) yield np.c_[xy[:,0], xy[:,1], s, c] # Update plot def update(i): data = next(data_stream()) scat.set_offsets(data[:, :2]) scat.set_sizes(300 * abs(data[:, 2])**1.5 + 100) scat.set_array(data[:, 3]) return scat,</code>
Cet extrait de code fournit un exemple de la façon d'animer un nuage de points avec des couleurs, des tailles et des positions changeantes. Vous pouvez personnaliser les paramètres de génération de données et d'animation en fonction de vos besoins spécifiques.
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!