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.
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.
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()
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!