我正在尝试从MATLAB FEX实现
datetick2的修改版本。当在较小的日期范围内放大绘图时,将不显示日/月/年等,具体取决于绘图中的时间范围。我想在图的左下角添加“ dd-mmm-yyyy”格式的开始日期作为注释。没问题,就完成了。
但是,如果用户使用缩放功能选择其他日期范围,接下来我要更新它。与其传递更多的句柄,不如只查找注释。但是,
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 。
回答:
您可能必须首先将根目录
'ShowHiddenHandles'属性设置为'on' ,然后尝试使用
FINDOBJ查找对象,然后将其设置回默认的'off' 。
更多&回答...