Maison > développement back-end > Tutoriel Python > Comment puis-je mettre à jour efficacement les tracés Matplotlib avec de nouvelles données ?

Comment puis-je mettre à jour efficacement les tracés Matplotlib avec de nouvelles données ?

Linda Hamilton
Libérer: 2024-12-05 18:38:12
original
273 Les gens l'ont consulté

How Can I Efficiently Update Matplotlib Plots with New Data?

Mise à jour des tracés dans Matplotlib

Lorsque vous travaillez avec des tracés interactifs dans Matplotlib, il est souvent nécessaire de mettre à jour le tracé avec de nouvelles données. Ceci peut être réalisé de deux manières :

Option 1 : Effacer et retracer

Cette approche consiste à effacer l'intrigue existante et à la redessiner à partir de zéro. Pour ce faire :

  1. Appelez graph1.clear() et graph2.clear() pour supprimer les données actuelles.
  2. Recalculez et tracez les nouvelles données comme avant.

Bien que cette méthode soit simple, c'est aussi la plus lente.

Option 2 : Mettre à jour Données

Pour éviter de retracer l'intégralité du graphique, vous pouvez directement mettre à jour les données des objets de tracé existants. C'est beaucoup plus rapide, mais nécessite :

  1. Modifier votre code pour séparer la logique de traçage de la logique d'acquisition de données.
  2. Assurer que la forme des données reste constante.
  3. Réinitialisation manuelle des limites des axes x et y si la plage de données changements.

Exemple :

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 6*np.pi, 100)
y = np.sin(x)

fig = plt.figure()
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'r-')

for phase in np.linspace(0, 10*np.pi, 500):
    line1.set_ydata(np.sin(x + phase))
    fig.canvas.draw()
    fig.canvas.flush_events()
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal