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

如何从Matlab图形中重新显示/恢复已删除的文本对象?,matlab,text,axes,handles,recover,Matlab,Text,Axes,Handles,Recover,我现在正在编写一个代码来显示和删除轴上的文本对象。但是,我不知道如何重新显示已删除的同一文本。您可以通过以下代码更好地理解: 我可以通过以下代码向我的轴添加文本: textHandle=text(1,1,'text') 我还知道我可以通过以下方式删除文本“text”: 删除(文本句柄) 但是,如何在轴上重新显示textHandle? 感谢您的关注和帮助。如果您使用删除(ObjectHandle),对象将被销毁,无法恢复。你只需要按照你最初创建它的方式重新创建它 请注意,这适用于文本对象,也适用于

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

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

我还知道我可以通过以下方式删除文本“text”: 删除(文本句柄)

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

如果您使用
删除(ObjectHandle)
,对象将被销毁,无法恢复。你只需要按照你最初创建它的方式重新创建它

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


如果不想删除它,只需暂时隐藏它,直到重新使用它,然后使用对象的
visible
属性

例如:

set(textHandle,'Visible','off')
set(textHandle,'String','New updated text')
只会使文本对象不可见。如果要使其重新出现,请将属性切换回“可见”:

set(textHandle,'Visible','on')
显然,只有当您确定以后要重用对象时,此方法才有用

除了(非常小的)性能增益(对于单个文本对象来说并不显著,但是如果要隐藏多个文本对象,则可能非常有用),这种方式的主要优点是即使文本对象处于隐藏状态,您仍然可以调用和修改它。例如:

set(textHandle,'Visible','off')
set(textHandle,'String','New updated text')
将正常执行,并在恢复文本对象的可见性时显示
“新更新的文本”


如果在删除对象后尝试设置此属性,Matlab可能会对您生气,并将经典错误
发回给您???使用==>设置/无效句柄对象时出错。

如果使用
删除(句柄)
,对象将被销毁,无法恢复。您必须重新创建它(正如您首先创建它一样)。如果你不想删除它,而只是暂时隐藏它,那么请查看对象的
可见属性@Hoki,你能回答这个问题吗?看起来不错enough@LuisMendo. 是的,完成了。谢谢我开发了一点,使它更完整。有时我仍然不确定什么应该是答案,什么才值得一提,主要是在这样的情况下,答案很短或很简单。@Hoki我也常常不确定。但是这个评论似乎适合OP,我认为这是一个很好的答案+1顺便说一句