Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • PYTHON - Atelier MatPlotLib PYTHON - Atelier MatPlotLib
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

La forge institutionnelle d'INRAE étant en production depuis le 10 juin 2025, nous vous recommandons d'y créer tous vos nouveaux projets.

  • Poulard Christine
  • PYTHON - Atelier MatPlotLibPYTHON - Atelier MatPlotLib
  • Wiki
  • Atelier_G_widgets

Atelier_G_widgets · Changes

Page history
Update Atelier_G_widgets authored Jun 09, 2021 by Poulard Christine's avatar Poulard Christine
Hide whitespace changes
Inline Side-by-side
Atelier_G_widgets.md
View page @ db5d630f
# "Widgets" directement avec matplotlib # "Widgets" directement avec matplotlib
Cette session "G" a été ajoutée pour permettre de manipuler les **widgets de Matplotlib** sur un exemple simple, sans avoir à lire un fichier ni utiliser les rééchantillonnages (une difficulté à la fois...). Cette session "G" a été ajoutée pour permettre de manipuler les **widgets de Matplotlib** sur un exemple plus simple que les étapes "E" et "F", en particulier sans avoir à lire un fichier ni utiliser pandas et ses rééchantillonnages (une difficulté à la fois...).
Les widgets sont des objets permettant d'interagir avec la figure, il faut pour cela les associer avec des fonctions qui, par exemple, recalculent des valeurs en fonction de nouveaux paramètres et retracent les courbes :
- :arrow_backward: :arrow_forward: "Sliders"
- :ballot_box_with_check: cases à cocher : Checkbuttons
- :radio_button: choix d'une option : Radiobuttons
- :stop_button: boutons : Buttons.
On s'appuie pour les explications sur : On s'appuie pour les explications sur :
- Le code ProbaCruesMaxAn_SurNannees.py : utilisation du widget "slider" pour changer les paramètres d'une fonction très simple, recalculer les résultats et mettre à jour deux courbes (tracés pour l'instant avec **plot**, mais ce n'est pas forcément la meilleur solution... à voir...). - Le code ProbaCruesMaxAn_SurNannees.py : utilisation du widget **"slider"** pour changer les paramètres d'une fonction très simple, recalculer les résultats et mettre à jour deux courbes (tracés pour l'instant avec **plot**, mais ce n'est pas forcément la meilleur solution... à voir...).
- le code Chegodaiev.py combine plusieurs types de courbes (plot, vlines) et utilise deux sliders et une checkbox (widget CheckButtons) ; GenerateurCruesMaxAnnuelles.py s'appuie sur ce code qu'il développe pour faire passer un message plus complexe. Il manipule d'autres types de courbes (scatter, stem). On y tester aussi, en doublon des widget boutons, des boutons ajoutés à la barre d'espace (portant une icône) - le code Chegodaiev.py combine plusieurs types de courbes (plot, vlines) et utilise deux **sliders** et une **checkbox** (widget CheckButtons) ; GenerateurCruesMaxAnnuelles.py s'appuie sur ce code qu'il développe pour faire passer un message plus complexe. Il manipule d'autres types de courbes (scatter, stem). On y teste aussi, en doublon des widget **boutons**, des **boutons** ajoutés à la barre d'espace (portant une icône). Enfin, une version plus aboutie, qui remplace les boutons par des icônes ajoutées à la barre d'outils de matplotlib, a été déposée dans un projet public, avec traduction en anglais (en cours...) sous le nom Sample2Gumbel.
illustrations ; [fenêtre matplotlib de GenerateurCruesMaxAnnuels avec widgets et nouveaux boutons](https://gitlab.irstea.fr/christine.poulard/atelier-matplotlib/-/blob/master/AtelierG_widgetsEtBoutonsToolbar.png) illustrations ; [fenêtre matplotlib de GenerateurCruesMaxAnnuels avec widgets et nouveaux boutons](https://gitlab.irstea.fr/christine.poulard/atelier-matplotlib/-/blob/master/AtelierG_widgetsEtBoutonsToolbar.png)
![Sample2Gumbel screenshot](/images/DixAnsAvecCentennaleEtQuinquennale.png ) ![Sample2Gumbel screenshot](/images/DixAnsAvecCentennaleEtQuinquennale.png)
On en profitera quand même pour ajouter une manipulation de variable globale, pour pouvoir changer la valeur d'une variable dans une fonction. Cela est à utiliser avec précaution toutefois... Au passage, on manipulera la notion de "portée des variables". Certaines fonctions utilisent le mot-clef "global" pour pouvoir changer la valeur d'une variable du corps du programme dans une fonction. Cela est à utiliser avec précaution toutefois...
### à propos des widgets de matplotlib, ### à propos des widgets de matplotlib,
Il s'agit bien des widgets de matplotlib, ce qui peut rendre service en phase de test sans assurer un rendu parfait... mais en s'épargnant le recours à une bibliothèque d'interface (Tkinter, PyQT ou PySide...). Il s'agit bien des widgets de matplotlib, ce qui peut rendre service en phase de test sans assurer un rendu parfait... mais en s'épargnant le recours à une bibliothèque d'interface (Tkinter, PyQT ou PySide...).
......
Clone repository
  • AtelierB1_Graphiques_simples
  • AtelierB2_Lire_un_fichier
  • AtelierC
  • Atelier_D_carte
  • Atelier_D_carte_a_partir_de_fichiers_binaires
  • Atelier_E_longues_series
  • Atelier_G_widgets
  • Atelier_clic_afficher
  • Atelier_clics
  • Cartes focus sur le redimensionnement
  • GUI avec QT
  • La doc avec Sphinx
  • Lexique
  • Point Théorie Subplots
  • Pour les contributeurs
View All Pages