Why isn't my loop running? (using strcmpi, trying to find a handle for the text)

1 次查看(过去 30 天)
Hello
Here is part of my code, I wanted to find an handle for the text... so I created a loop that runs all over the axis' children and looks for the text's handle.
% code
%get text handle
textH=get(axisH,'children')
for ii=1:length(textH)
if strcmpi(get(textH(ii),'type'),'text')
textH=textH(ii)
end
end
%set text properties
set(textH,'color','b','FontSize',20)
why isn't my loop running?

采纳的回答

Jos (10584)
Jos (10584) 2013-12-10
编辑:Jos (10584) 2013-12-10
I don't know why your loop is not running. I suggest you try some debugging. Also you change the array you're looping over inside the loop, which is not good.
textH = get(axisH,'children') % should give a list of numbers
N = numel(textH) % I prefer numel over length
textH_KEEP = NaN
for ii = 1:N
str = get(textH(ii),'type') % debug
TF = strcmpi(str,'text') % debug
if TF
textH_KEEP = textH(ii)
end
end
textH_KEEP % should be NaN when no text handles are found

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by