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

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개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2013년 12월 10일

댓글:

2013년 12월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by