我试图从MATLAB FEX实现datetick2的修改版本。当地块在较短的日期范围内放大时,日/月/年等不显示,这取决于地块中的时间范围。我想在图的左下角放一个'dd-mmm-yyyy'格式的开始日期作为注释。没问题,完成了。如何在MATLAB中找到注释句柄?
但是,如果用户使用缩放功能选择不同的日期范围,我想要更新它。我不想传递更多的句柄,而只想找到注释。但是,findobj似乎不适用于hggroup类型,这是注释的含义。我用错了吗?
下面是一个代码示例:
>> times=now-[50:-5:0];
>> days=times-times(1);
>> plot(times,days)
>> datetick2()
>> xlabel('Date')
>> ylabel('Days')
>> title('Example')
>> initialdate=datestr(min(get(gca,'xlim')),'dd-mmm-yyyy');
>> txt=annotation('textbox', [.01,.01,.1,.05],...
'string', initialdate,...
'Linestyle','none');
>>
>>
>> findobj('type','hggroup')
ans =
Empty matrix: 0-by-1
>> get(txt,'type')
ans =
hggroup
>> findobj('type','axes')
ans =
270.0034
正如你所看到的,findobj不工作,但如果我用我的工作空间中定义的手柄,类型弹出右出为hggroup
。
是的,就是这样。我还为注释添加了标签属性,只是为了让事情变得更简单。 – Doresoom 2010-08-18 22:03:11