Le traitement des données et leur visualisation sont des aspects essentiels de la science et de l’ingénierie. PYQTLAB Graph Math est un outil puissant qui permet aux utilisateurs de traiter et de visualiser des données mathématiques. Il offre une variété de fonctionnalités qui permettent aux utilisateurs de créer des graphiques et des diagrammes complexes à partir de leurs données. Dans cet article, nous examinerons en détail les fonctionnalités de PYQTLAB Graph Math et comment elles peuvent être utilisées pour traiter et visualiser des données mathématiques.
Affichage graphique et mathématique avec PyQt

Plusieurs librairies pour affichage graphique type scientifique ou mathématique sont disponibles et utilisables avec PyQt :
- PyQwt : une librairie graphique dérivée de la version originale en C, Qwt. Cette librairie est actuellement obsolète et non maintenue, mais elle reste potentiellement utile en raison des widgets analogiques qu’elle propose et son utilisation facile avec QtDesigner.
- Matplotlib : cette librairie est « The Must » de l’affichage graphique scientifique en Python, supportant notamment plusieurs environnement graphique dont PyQt. Une librairie incontournable qu’il faut connaître en raison de ses nombreuses possibilités avancées 2D et 3D. Cette librairie s’utilise également très facilement avec ipython. Par contre, cette librairie s’avère un peu lente pour des affichages temps réel. Intégration dans PyQt simple. Matplotlib est à privilégier dès lors que l’on souhaite réaliser des graphiques élaborés ( champs vectoriels, coordonnées polaires, etc… )
- Pyqtgraph : Comme son nom l’indique, cette librairie est construite sur PyQt et son utilisation avec PyQt est donc naturelle. Cette librairie est plus simple dans ses possibilités que Matplotlib (ne supporte pas champs vectoriel, coordonnées polaires, etc..) mais propose aussi des choses qui n’existent pas avec matplotlib (notamment l’interactivité avec le graphique). Le point fort de Pyqtgraph : sa grande rapidité qui en fait la solution privilégiée pour des affichages temps-réel.
PyQt + Pyqtgraph : Afficher des courbes temps-réel et réaliser du calcul scientifique
PyQt + Qwt : afficher des graphiques analogiques et des courbes?
PyQt + Matplotlib : Afficher des courbes mathématiques et réaliser du calcul scientifique?
PyQt + PyqtGraph : afficher des graphiques et des courbes

Tracé de courbes simples
Les bases
- Afficher et paramétrer un graphique pyqtgraph vide dans une interface Qt
- Afficher une courbe simple dans un graphique pyqtgraph
- Afficher et paramétrer un graphique pyqtgraph vide dans une interface Qt avec widgets de paramétrage des axes
- Paramétrer l’affichage des points d’une courbe dans un graphique pyqtgraph
- Interagir avec une courbe d’un graphique pyqtgraph à l’aide de sliders (tuto)
Affichages de courbes y=f(x)
- Afficher une courbe de 1000 valeurs aléatoires simulant une série de données (tuto)
- Afficher/masquer plusieurs courbes simples dans un graphique pyqtgraph, sélectionnables par case à cocher
- Afficher une courbe à partir d’une série de valeurs chargées à partir d’un fichier texte ou saisies dans une zone texte, enregistrables dans un fichier texte. (tuto)
- Définir la courbe à tracer à partir d’une formule saisie en zone texte, et enregistrer données dans fichier
Exemples de courbes mathématiques
- Autour de la loi du corps Noir
- Afficher la courbe du corps noir et la paramétrer à l’aide d’un slider
- Afficher simultanément la loi du corps Noir et la loi de Wien reliant le maxima d’émission à la température
- Pyduino : thermostat de Planck : afficher la loi du corps noir en fonction de l’état d’un potentiomètre
Affichage de courbes paramétriques y=f(t) et x=f(t)
- Affichage d’une courbe paramétrique d’exemple
- Exemple de courbe réelle : Courbe de l’analemna
Paramétrage de l’interactivité du graphique
Le clic droit sur le graphique pyqtgraph permet l’export immédiat aux formats *.svg, *.png et même Matplotlib du graphique courant !! Il est donc incroyablement simple de réutiliser un graphique pyqtgraph obtenu par calcul !
Doc
- L’interactivité par défaut
- Description du menu contextuel par défaut et des options disponibles
Codes
- Exemple d’interactivité prédéfinie : voir Afficher une courbe simple dans un graphique pyqtgraph
- Afficher et paramétrer un graphique pyqtgraph vide dans une interface Qt avec widgets de paramétrage des axes
- Afficher le point courant d’une courbe y=f(x) sous le curseur de la souris
- Afficher une croix de lignes sous la souris ainsi que le point courant d’une courbe
- Récupérer la valeur et dessiner le point courant lors d’un clic souris
Tracé de courbes « temps réel »
Simple
- Affichage progressif d’une courbe
- Affichage progressif d’une courbe avec widget de paramétrage des axes et de réinitialisation
- Affichage progressif d’une courbe avec bouton de stop et bouton de réglage de la vitesse, widget LCD valeur courante
- Affichage progressif d’une courbe bouton de stop, réglage vitesse, widget LCD valeur, valeur courante sous curseur et croix de lignes
- Affichage progressif de 6 courbes dans un même graphique avec widget d’affichage/masquage
- Affichage progressif de 6 courbes dans 6 graphiques différents
Pyduino
- Oscilloscope basse fréquence monovoie
- Oscilloscope basse fréquence monovoie avec widgets de réglage, bouton de stop, widget LCD valeur, croix de lignes de sélection TOP !
- Oscilloscope basse fréquence 6 voies sur 1 graphique
- Oscilloscope basse fréquence 6 voies sur 6 graphiques
Port Série (Arduino)
Avec Pyqtgraph (recommandé)
- Afficher une courbe à partir de valeurs reçues sur le port série (oscillo simple) *
- Afficher une courbe à partir de valeurs reçues sur le port série, avec widgets de paramétrage des axes
- Idem avec affichage de la valeur courante et conversion en unité voulue
- Idem avec option de tracé d’une croix de lignes et du point courant
- Idem multicourbe sur le même graphe
- Idem multicourbe sur n courbes
Avec PyQwt (obsolète)
- Afficher une courbe à partir de valeurs reçues sur le port série (oscillo simple) *
- Afficher une courbe à partir de valeurs reçues sur le port série, avec widgets de paramétrage des axes *
- Idem avec affichage de la valeur courante et conversion en unité voulue
- Idem avec option de tracé d’une croix de lignes et du point courant
- Idem multicourbe sur le même graphe
- Idem multicourbe sur n courbes
Console intégrée
- Interface PyQt intégrant graphique pyqtgraph et console dans une même GUI pour interactivité « en direct » avec le graphique*
Tracé de courbes avec timeline
- Créer un graphique avec une timeline interactive
- Créer un graphique avec une timeline interactive à partir d’un fichier de données
- Affichage progressif d’une courbe dans une timeline et affichage de la zone sélectionnée
Images simples avec pyqtgraph
- Affichage d’une image simple
- Création d’une image telle que i=f(x,y)
Images avec widgets pyqtgraph
Images et ROI
Tracé d’images « temps-réel » ou animées
- Affichage animé d’une image telle que i=f(x,y)
Articles similaires:
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTGraphMathPyqtgraph
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTLABGraphMathPyqtgraph
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTGraphMathPyqtgraphCourbeSimple
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.CODERJS
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTGraphMath
Articles Liés
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ARDUINOINSTALLATIONRaisonsChoix
L'Arduino est un système de prototypage électronique open source qui permet aux utilisateurs de créer…
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.CODERLangageArduinoStrategiesTemporisation
Le langage Arduino est un langage de programmation open source qui permet aux développeurs de…
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.GLAPBOXMaterielAssemblageTest
L'assemblage et le test de matériel électronique sont des étapes essentielles pour la fabrication de…