Maison > développement back-end > Tutoriel Python > Comment puis-je réaliser un traçage en temps réel dans une boucle While en Python ?

Comment puis-je réaliser un traçage en temps réel dans une boucle While en Python ?

Linda Hamilton
Libérer: 2024-12-08 00:24:16
original
341 Les gens l'ont consulté

How Can I Achieve Real-Time Plotting Within a While Loop in Python?

Traçage en temps réel dans des boucles While

Les développeurs sont souvent confrontés au défi de tracer des données en temps réel dans le cadre d'applications basées sur les données. Cependant, un problème courant survient lorsque l'on tente d'implémenter un tracé en temps réel dans une boucle « while ».

Considérez l'exemple suivant, dans lequel nous visons à tracer des points de données aléatoires en temps réel à l'aide d'OpenCV :

fig = plt.figure()
plt.axis([0, 1000, 0, 1])

i = 0
x = list()
y = list()

while i < 1000:
    temp_y = np.random.random()
    x.append(i)
    y.append(temp_y)
    plt.scatter(i, temp_y)
    i += 1
    plt.show()
Copier après la connexion

Malheureusement, ce code ne parvient pas à tracer les points individuellement en temps réel. Au lieu de cela, il suspend l'exécution du programme jusqu'à ce que la boucle soit terminée avant d'afficher le graphique.

La clé pour activer le traçage en temps réel réside dans l'appel de la fonction plt.pause(0.05) dans la boucle. Cette fonction met non seulement à jour le tracé avec les dernières données, mais exécute également la boucle d'événements de l'interface graphique. Cela permet l'interaction de l'utilisateur, garantissant que le tracé reste réactif et interactif pendant l'exécution de la boucle :

import numpy as np
import matplotlib.pyplot as plt

plt.axis([0, 10, 0, 1])

for i in range(10):
    y = np.random.random()
    plt.scatter(i, y)
    plt.pause(0.05)

plt.show()
Copier après la connexion

En incorporant plt.pause(0.05), vous débloquez la possibilité de tracer des points de données en temps réel. temps, vous permettant de visualiser vos données au fur et à mesure de leur flux.

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