2010-08-02 31 views
11

是否有一種簡單的方法可以從一組軸中刪除繪製線而不清除軸上的所有其他內容?我試圖用包含多個數據集的列表框來實現GUI。我可以使回調函數繪製選定的數據,但是我不確定在取消選擇數據集時如何「取消」它。有任何想法嗎?有沒有辦法從現有的軸上移除一個繪圖?

+3

你可能會感興趣在FEX的'clickableLegend'上:http://www.mathworks.com/matlabcentral/fileexchange/21799-clickablelegend – Amro 2010-08-02 19:57:25

+0

@Amro:非常棒的建議!感謝您將這引起我的注意。 – Doresoom 2010-08-02 20:08:42

回答

17

如果保存的句柄創建的圖形對象,你可以調用它的DELETE從情節中刪除:

hLine = plot(...); %# Create a line with PLOT 
delete(hLine);  %# ...and delete it 

另外,如果你沒有保存手柄一個變量,你可以使用FINDOBJ進行搜索,然後在找到它時將其刪除。

如果你實際上並不想刪除,但簡單地把該行的知名度和關閉,可以設置圖形的'Visible' property目的因此:

set(hLine,'Visible','off'); %# Make it invisible 
set(hLine,'Visible','on'); %# Make it visible 
+0

我發誓我試過這個,但它沒有工作,現在它確實。 – Doresoom 2010-08-02 14:41:44

+0

啊,我正在使用'delete plothandle'而不是'delete(plothandle)' – Doresoom 2010-08-02 14:44:10

+1

@Doresoom:這就解釋了它。命令語法'delete plothandle'將查找名爲'plothandle'的*文件*以進行刪除。 – gnovice 2010-08-02 14:47:45

相關問題