Как отобразить / восстановить удаленный текстовый объект из рисунка 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.

Другие вопросы по тегам