Я пытаюсь реализовать модифицированную версию datetick2 из MATLAB FEX.Когда графики масштабируются в небольшом диапазоне дат, день / месяц / год и т. Д. Не отображаются, в зависимости от диапазона времени на графике.Я хотел бы поместить отформатированную дату начала в формате 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
.