如何从Matlab图形中重新显示/恢复已删除的文本对象



我现在正在编写一个代码来显示和删除轴上的文本对象。然而,我不知道如何重新显示被删除的同一文本。您可以通过以下代码更好地理解:

我可以通过以下代码向轴添加文本:text句柄=text(1,1,'文本')

我还知道我可以通过以下方式删除文本"文本":删除(textHandle)

但是,如何在轴上重新显示textHandle?感谢您的关心和帮助。

如果使用delete(ObjectHandle),则对象将被销毁,并且不可能进行任何恢复。你只需要像最初创建它一样重新创建它。

请注意,这适用于text对象,也适用于任何类型的Matlab对象


如果您不想删除它,只是暂时隐藏它,直到重新使用它,那么请使用text对象的visible属性。

例如:

set(textHandle,'Visible','off')

只会使文本对象不可见。当你想让它重新出现时,将属性切换回"可见":

set(textHandle,'Visible','on')

显然,这种方法只有在以后确定要重用对象时才有用

除了(非常小的)性能增益(对于单个文本对象来说不重要,但如果要隐藏许多文本对象,则会很有用)之外,这样做的主要优点是即使文本对象被隐藏,您仍然可以调用和修改它。例如:

set(textHandle,'String','New updated text')

将执行良好,并在恢复文本对象的可见性时显示'New updated text'

如果您在删除对象后尝试设置此属性,Matlab会对您感到愤怒,并将经典错误??? Error using ==> set / Invalid handle object.

发回

最新更新