How to use set() in a loop?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi! I have lots of lots of images in a figure and I want to change them between being visible and invisible. My problem is that I don't know how to change severals of images in a loop. Now I have to type in set(_name1_,'Visible','off') for every image. I can't find a way to change the name in set(_name1_). What can I do?
0 comentarios
Respuestas (4)
per isakson
el 3 de Mayo de 2012
Try something like this:
name_list = { 'name1', 'name2', 'name3', .... }; % row vector
for name = name_list
image_handle = findobj( 'PropertyName', name{1} ) % thanks to Daniel
set( image_handle, 'Visible', 'off')
end
The trick is to create name_list and that the names are unique
--- CONT. ---
Doc says:
himage = imshow(...) returns the handle to the image object created by imshow.
Thus, himage is a handle to an image object and 'Visible' is a property of a image object. Try
imh8 = imshow('Bar78.png',bar8);
set( imh8, 'Visible', 'off' )
I'm not sure this will do what you want, but ...
5 comentarios
Daniel Shub
el 3 de Mayo de 2012
Somewhere Johan is going to do a loop and a variable naming scheme like imh8 and bar8 is going to probably cause him problems.
per isakson
el 3 de Mayo de 2012
@Daniel Obviously 'PropertyName' must match the PropertyValue, "name". Why do we care about Johans problem? I try give hints and point to the documentation, which I think is good. Sometimes coming up with a good search term is the real problem.
Daniel Shub
el 3 de Mayo de 2012
I believe your question is really: I created a bunch of variables called
name1
name2
name3
0 comentarios
Daniel Shub
el 3 de Mayo de 2012
I am guessing a lot here, but what about something like
for ibar = 1:8
subplot(3, 3, ibar);
bar(ibar) = imshow(['Bar7', num2str(ibar), '.png');
end
set(bar, 'Visible', 'off')
0 comentarios
Ver también
Categorías
Más información sobre White en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!