Bonjour,
je travaille en ce moment avec les boutons radio widget de matplotlib.
Un exemple est donné dans la documentation avec 3 boutons permettant de générer un signal sinusoidal de différentes fréquence.
A partir de cet exemple, je souhaite récupérer la valeur de la variable correspondant au bouton choisi par l'utilisateur. De nombreuses personnes ont déjà posé cette question sur internet, mais la plupart du temps, les réponses concernent des utilisateurs de Tkinter et pas de matplotlib.
Voici le code de la documentation légèrement modifié:
Tant que je clique sur les boutons radio, j'observe bien sur le terminal les valeurs '1', '2' ou '3' prises par la variable ydata à l'intérieur de la fonction 'boite1'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import matplotlib.pyplot as plt from matplotlib.widgets import RadioButtons s1 = 1 s2 = 2 s3 = 3 ydata=0 axcolor = 'lightgoldenrodyellow' rax = plt.axes([0.05, 0.7, 0.15, 0.15], facecolor=axcolor) radio1 = RadioButtons(rax, ('2 Hz', '4 Hz', '8 Hz')) def boite1(label): global ydata ydata = label tab = {'2 Hz': s1, '4 Hz': s2, '8 Hz': s3} ydata = tab[label] print(ydata) return ydata radio1.on_clicked(boite1) E=ydata
Mais en dehors de la fonction 'boite1', la variable E ne prend jamais une des valeurs précédentes, seulement '0', valeur initiale que j'ai donné à ydata.
Pourtant, j'ai bien défini ydata, à l'intérieur de la fonction boite1, comme étant une variable globale .....Je ne comprends donc pas, pourquoi je n'arrive pas à récupérer cette valeur en dehors de la fonction.
Merci par avance de votre aide et de vos explications, permettant de comprendre et de corriger mon erreur.
Cordialement,
Partager