Plotting Selected Items from a List

35 views (last 30 days)
I have been trying to figure out how I can plot one or more items that the user chooses from a list. I have 22 items in total that each have their own specific plots. Is there any way I can do this? So far, I have used listdlg() and if-else statements, but that only works if I only want to plot one item.
  6 Comments
Star Strider
Star Strider on 5 Jun 2019
Consider using the any function:
any(objects == 1)
Geoff Hayes
Geoff Hayes on 5 Jun 2019
Since objects is a 1x2, does that mean you have selected the first and eigth item in the list box? How are you then extracting the coordinates from the structure? Please show the code to do this.

Sign in to comment.

Accepted Answer

Geoff Hayes
Geoff Hayes on 5 Jun 2019
Edited: Geoff Hayes on 5 Jun 2019
autumn - try the following
[objects] = listdlg('ListString',... % my 22 objects are inserted here
'PromptString','Select an item:',...
'SelectionMode','multiple',...
'OKString','Plot',...
'CancelString','Exit');
for k = 1:length(objects)
index = objects(k);
% get the coordinates for this object
plot3(coordinates);
hold on;
end
The above code will iterate over each selection (index) that you have selected in the list. The coordinates for that selection will be drawn and then, using hold on be retained when you try to draw the next selection.
Or you could combine your coordinates (from each selected object) in such a way that you just call plot3 once with the combined coordinates for the X, Y, and Z. See plot3 for details.
  6 Comments
autumn
autumn on 5 Jun 2019
Edited: autumn on 5 Jun 2019
I got everything to work! Thank you so much for all of your help!

Sign in to comment.

More Answers (0)

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!