Estoy tratando de implementar una versión modificada de datetick2 desde el MATLAB FEX. Cuando las representaciones se acercan con un pequeño intervalo de fechas, el día/mes/año, etc. no se muestra, dependiendo del rango de veces en la trama. Me gustaría poner una fecha de inicio formateada 'dd-mmm-aaaa' como una anotación en la esquina inferior izquierda de la figura. No hay problema, eso está hecho.¿Cómo puedo encontrar un controlador de anotación en MATLAB?
Sin embargo, a continuación quiero actualizarlo si el usuario selecciona un rango de fechas diferente con la función de zoom. En lugar de pasar más identificadores, solo quiero encontrar la anotación. Sin embargo, findobj no parece funcionar para el tipo hggroup, que es a lo que pertenecen las anotaciones. ¿Lo estoy usando mal?
Aquí está un ejemplo de código:
>> 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
Como se puede ver, findobj no funciona, pero si uso el mango I definida en el espacio de trabajo, el tipo estallar a la derecha como hggroup
.
Sí, eso fue todo. Agregué una propiedad de etiqueta a la anotación también, solo para facilitar aún más las cosas. – Doresoom