plotting multiple variables in a listbox
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Good Morning, I am trying to plot all variables selected in a listbox in a matlab gui. I seem to be overwriting the variables when plotting and only plotting the last one even when using the hold on command inside the loop. I also cannot figure out how to add a legend to the plot which corresponds to the variable selected in the listbox.
Any suggestions?
Thanks so much.
%Setting up string and value for desired parameters
Variable_Name = get(handles.Parameter_Listbox,'String');
Index = get(handles.Parameter_Listbox,'Value');
%Setting results plot
axes(handles.Plot)
%Creating loop for parameters choosen
for i=1:length(Index)
Parameter(:,i)=Data(:,Index(i))
end
[j,k]=size(Parameter);
for p=1:k
plot(Data(:,2),Parameter(:,k));
hold on
legend(Variable_Name(k));
hold on
end
0 commentaires
Réponse acceptée
Jan
le 18 Août 2014
You are plotting Data(:, 2) against Data(:, Index). Is this your intention?
What about this:
Variable_Name = get(handles.Parameter_Listbox,'String');
Index = get(handles.Parameter_Listbox,'Value');
plot(Data(:,2), Data(:, index).', 'Parent', handles.Plot);
legend(Variable_Name(index));
4 commentaires
Plus de réponses (1)
Michael Haderlein
le 18 Août 2014
Modifié(e) : Michael Haderlein
le 18 Août 2014
You only plot the last Parameter, you need to change the line
plot(Data(:,2),Parameter(:,k));
to
plot(Data(:,2),Parameter(:,p));
The same with the legend, too.
3 commentaires
Michael Haderlein
le 18 Août 2014
Modifié(e) : Michael Haderlein
le 18 Août 2014
Sorry, my comment on the legend was wrong. You overwrite the legend in every iteration. Put the legend command below the loop and write
legend(Variable_Name(Index))
Michael Haderlein
le 18 Août 2014
Anyway, Jan Simon's answer is better as he plots everything without the loop - just follow his answer.
Voir également
Catégories
En savoir plus sur Specifying Target for Graphics Output dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!