Maison > développement back-end > Tutoriel Python > Comment optimiser les animations Matplotlib pour la collecte de données en temps réel ?

Comment optimiser les animations Matplotlib pour la collecte de données en temps réel ?

Linda Hamilton
Libérer: 2024-11-11 20:07:02
original
506 Les gens l'ont consulté

 How to Optimize Matplotlib Animations for Real-Time Data Collection?

Animation de tracés Matplotlib : optimisation pour la collecte de données

Dans les applications de collecte de données, il est crucial de mettre à jour les tracés de manière dynamique sans redessiner l'intégralité du graphique. Cette optimisation améliore les performances, en particulier lors de la collecte de données sur des périodes prolongées.

Le problème : redessiner ou animation basée sur des intervalles ?

Traditionnellement, les mises à jour du tracé impliquaient soit d'effacer et de redessiner le tracé, soit de l'animer à intervalles fixes. Cependant, aucune des deux méthodes n’est idéale pour la collecte de données en temps réel. Le redessinage devient lent avec le temps, tandis que l'animation basée sur des intervalles ne parvient pas à mettre à jour le tracé rapidement lorsque les données arrivent.

La solution : ajout de points incrémentiels

Pour mettre à jour dynamiquement le tracé uniquement lorsque de nouvelles données sont reçues , pensez à utiliser l'API d'animation de matplotlib, en particulier la fonction FuncAnimation. Cette fonction vous permet de définir une fonction qui met à jour en permanence le tracé.

import matplotlib.pyplot as plt
import numpy

hl, = plt.plot([], [])

def update_line(hl, new_data):
    hl.set_xdata(numpy.append(hl.get_xdata(), new_data))
    hl.set_ydata(numpy.append(hl.get_ydata(), new_data))
    plt.draw()
Copier après la connexion

Dans cet exemple, hl est l'objet line et la fonction update_line étend ses données avec de nouveaux points de données. Lorsque de nouvelles données sont reçues, appelez simplement update_line pour mettre à jour le tracé de manière fluide et efficace.

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