2010-08-02 11 views
11

Çizilen çizgileri, eksenlerdeki diğer her şeyi temizlemeden bir dizi çizgiden kaldırmanın kolay bir yolu var mı? Birkaç veri kümesini içeren bir liste kutusuyla GUI uygulamaya çalışıyorum. Geri çağırma işlevinin seçili verileri çizmesini sağlayabilirim, ancak veri kümesinin seçimini iptal ettiğimde nasıl “nasıl yazılacağını” bilmiyorum. Herhangi bir fikir? oluşturulan grafik nesne bir kolu kaydedersenizMevcut eksenlerden tek bir arsa kaldırmanın bir yolu var mı?

+3

ilgilenebilecek FEX'de clickableLegend'de: http://www.mathworks.com/matlabcentral/fileexchange/21799-clickablelegend – Amro

+0

@Amro: Mükemmel öneri! Bunu dikkatime sunduğun için teşekkürler. – Doresoom

cevap

17

, sen arsa çıkarmak için üzerine DELETE çağırabilirsiniz:

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

Alternatif olarak, bir değişkene kolu kaydetmek olmasaydı, seni FINDOBJ kullanarak arayabilir, daha sonra bulduğunuzda silebilirsiniz.

Fiilen silmek istemem ama sadece buna göre fazla grafik 'Visible' property ayarlayabilirsiniz, açık ve kapalı hat görünürlüğünü nesnesi açarsanız:

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

Yemin ederim bunu denedim, ama işe yaramadı, şimdi de öyle. – Doresoom

+0

Ah, 'delete plothandle' delete (plothandle) '' – Doresoom

+1

@Doresoom kullanıyordum: Bu açıklıyor. Komut sözdizimi 'delete plothandle' silmek için' plothandle' adlı bir * dosya * arıyor olacaktır. – gnovice