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