À l'aide d'un bouton radio panneau de choisir différentes options graphiques
Je suis en train de créer une GUI pour plusieurs entrées et plusieurs fonctions. Je souhaite utiliser un radio bouton du panneau de basculer entre les différents graphiques, mais j'ai juste ne peut pas sembler obtenir ce travail. Voici un exemple de mon code.
switch get(eventdata.NewValue,'Tag') % Get Tag of selected object
case 'button1'
status1 = str2double(get(handles.button1,'Value'));
if status1 == 1;
axes(handles.axes1)
grid on;
plot(x1,y1)
end
case 'button2'
status2 = str2double(get(handles.button2,'Value'));
if status2 == 1;
axes(handles.axes1)
grid on;
plot(x2,y2)
end
case 'button3'
status3 = str2double(get(handles.button3,'Value'));
if status3 ==1
plot(x3,y3)
end
otherwise
% Code for when there is no match.
end
- Ce langage serait-ce? Ajouter une balise et vous aurez plus de réponses.
Vous devez vous connecter pour publier un commentaire.
Il semble que vous essayez de créer un radio bouton du panneau d'une manière similaire à cet exemple de tutoriel sur blinkdagger.com. Plus précisément, je crois que vous essayez de créer un SelectionChangeFcn pour définir la façon dont les boutons de la radio modifier votre interface graphique. Je vous suggère les suivantes:
Tout d'abord, au lieu de replotting une ligne à chaque fois qu'un bouton radio est sélectionné, je vous conseille de vous tracer l'ensemble de vos lignes lorsque vous créez votre interface graphique, puis ajuster le "Visible" de la propriété des lignes à 'on' ou 'off' en fonction du bouton sélectionné. Lorsque vous faites de votre interface, vous pouvez ajouter ces lignes quelque part dans votre code (après les axes est créé et placé dans le
handles
variable):Ce sera l'intrigue de trois ensembles de lignes sur les mêmes axes. Ces lignes ne sont pas visibles, et les poignées à chaque ligne tracée sont collectées dans un vecteur variable
lineHandles
. Les deux dernières lignes ci-dessus, ajoutez la ligne des poignées pour les poignées structure et de la mise à jour de l'interface graphique de données (hObject
devrait être une poignée à l'interface graphique de la figure de la fenêtre!).Maintenant, vous pouvez utiliser les éléments suivants pour votre SelectionChangeFcn:
REMARQUE: Si jamais vous souhaitez modifier l'une de ces trois lignes sont tracées, vous pouvez simplement définir la XData " et "YData' propriétés de l'une des poignées. Comme un exemple, cela met à jour la première ligne tracée avec de nouvelles données x et y:
À moins que vous ayez une bonne raison de faire autrement, je pense que vous devriez mettre le tracé de code à l'intérieur de la fonction de rappel pour chaque bouton radio.
Pas besoin de faire ce gros poste de départ.
Aussi, de la "valeur" qui sort du bouton, c'est déjà un double pour les boutons radio. Pas besoin de le convertir comme vous le faites.