我正在尝试实现一个修改版的datetick2,它来自于MATLAB FEX。当图表缩放到一个较小的日期范围时,根据图表中时间的范围,可能不会显示日/月/年等信息。我想在图表左下角添加一个“dd-mmm-yyyy”格式的起始日期作为注释。没问题,已经完成了。
然而,接下来我想让它在用户使用缩放功能选择不同的日期范围时更新。我不想传递更多句柄,只想找到注释。然而,findobj似乎对于注释所属的hggroup类型不起作用。我用错了吗?
以下是代码示例:
然而,接下来我想让它在用户使用缩放功能选择不同的日期范围时更新。我不想传递更多句柄,只想找到注释。然而,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
。