Как отобразить / восстановить удаленный текстовый объект из рисунка Matlab?
Я сейчас пишу код для отображения и удаления текстового объекта из осей. Однако я не знаю, как заново отобразить тот же текст, который удален. Вы можете лучше понять следующие коды:
Я могу добавить текст к своим осям с помощью следующего кода: textHandle=text(1,1,'Text')
Я также знаю, что могу удалить текст "Текст" с помощью: delete (textHandle)
Тем не менее, как снова отобразить textHandle на осях? Спасибо за ваше внимание и помощь.
1 ответ
Если вы используете delete(ObjectHandle)
объект уничтожен и восстановление невозможно. Вам просто нужно воссоздать его так же, как вы его создали.
Обратите внимание, что это относится к text
объект, но также для любого типа объекта Matlab.
Если вы не хотите удалять его, а просто временно скрываете, пока не будете использовать повторно, используйте visible
собственность text
объект.
Например:
set(textHandle,'Visible','off')
просто сделает текстовый объект невидимым. Если вы хотите, чтобы оно появилось снова, переключите свойство обратно на "visible":
set(textHandle,'Visible','on')
Очевидно, что этот метод полезен только в том случае, если вы уверены, что будете повторно использовать свой объект позже.
Помимо (очень небольшого) выигрыша в производительности (не значительного для одного текстового объекта, но может быть полезно, если многие текстовые объекты должны быть скрыты), основное преимущество этого способа заключается в том, что вы все равно можете вызывать и изменять свой текстовый объект. даже когда это скрыто. Например:
set(textHandle,'String','New updated text')
выполнится нормально и отобразит 'New updated text'
когда видимость текстового объекта восстановлена.
Если бы вы попытались установить это свойство после удаления объекта, Matlab просто рассердился бы на вас и вернул бы вам классическую ошибку ??? Error using ==> set / Invalid handle object.