【问题标题】:How to redisplay / recover a deleted text object from a Matlab figure?如何从 Matlab 图形中重新显示/恢复已删除的文本对象?
【发布时间】:2014-11-29 05:49:05
【问题描述】:

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

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

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

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

【问题讨论】:

  • 如果您使用了delete(handle),则该对象将被销毁且无法恢复。您必须重新创建它(就像您首先创建它一样)。如果您不想删除它而只是暂时隐藏它,请查看text 对象的visible 属性。
  • 非常感谢你!
  • @Hoki 将该评论作为答案?看起来还不错
  • @LuisMendo。是的,完成了。谢谢。我对其进行了一些开发以使其更完整。有时我仍然不确定什么应该是答案,什么才值得评论,主要是在答案非常简短或简单的情况下。
  • @Hoki 我也经常不确定。但是该评论似乎适合 OP,我认为这是一个很好的答案。 +1 顺便说一句

标签: matlab text axes handles recover


【解决方案1】:

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

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


如果您不想删除它,而只是暂时隐藏它直到您再次使用它,则使用text 对象的visible 属性。

例如:

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

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

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

显然,此方法仅在您确定稍后重用您的对象时才有用。

除了(非常小的)性能增益(对于单个文本对象而言意义不大,但如果要隐藏许多文本对象时可能很有用),这样做的主要优点是即使隐藏了文本对象,您仍然可以调用和修改您的文本对象。例如:

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

当文本对象的可见性恢复时,将正常执行并显示'New updated text'

如果你在你 删除 对象之后尝试设置这个属性,Matlab 会生你的气并把经典错误发回给你@987654330 @

【讨论】:

    猜你喜欢
    • 2010-12-23
    • 2016-06-14
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多