


Comment créer des nuages de points animés avec des couleurs, des tailles et des positions changeantes ?
Nov 05, 2024 pm 10:21 PMAnimation de nuages de points : modification des couleurs, des tailles et des positions
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 :
- données : Numpy ndarray avec forme (ntime, npoint)
- x : Numpy ndarray avec une forme (npoint) représentant les coordonnées x
- y : Numpy ndarray avec une forme (npoint) représentant les coordonnées y
Objectif : Animez un nuage de points avec les fonctionnalités suivantes :
- Modifiez les positions des points en mettant à jour scat.set_offsets(array), où array est un tableau 2D de coordonnées x et y.
- Modifiez les tailles des points en mettant à jour scat.set_sizes(array), où array est un tableau 1D de tailles.
- Changez les couleurs des points en mettant à jour scat.set_array(array), où array est un tableau 1D de valeurs à colorier.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

Sérialisation et désérialisation des objets Python: partie 1

Comment implémenter votre propre structure de données dans Python
