2014-10-04 33 views
0

我現在正在編寫代碼來顯示和刪除軸上的文本對象。但是,我不知道重新顯示被刪除的相同文本的方式。您可以通過以下代碼更好地理解:如何從Matlab圖中重新顯示/恢復已刪除的文本對象?

我可以通過下面的代碼的文本添加到我的軸: textHandle =文本(1,1,「文本」)

我也知道我可以刪除文本'文本'通過: 刪除(textHandle)

但是,如何重新顯示textHandle再次在軸? 感謝您的關注和幫助。

+2

如果你使用'刪除(手柄) ',物體被破壞,無法恢復。你必須重新創建它(就像你在第一個地方創建它一樣)。如果你不想刪除它,只是暫時隱藏它,那麼看看['text']的'visible'屬性(http://www.mathworks.co.uk/help/matlab/ref/text- properties.html?searchHighlight = text)對象。 – Hoki 2014-10-04 09:40:57

+0

Thiak你非常Hoki! – 2014-10-04 09:42:58

+0

@Hoki做出該評論的答案?這似乎足夠 – 2014-10-04 16:22:51

回答

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會只是在你生氣,並送你回去的經典錯誤??? Error using ==> set/Invalid handle object.

相關問題