2010-08-02 10 views
11

क्या अक्षों पर किसी और चीज को साफ़ किए बिना अक्ष के सेट से प्लॉट लाइन को निकालने का कोई आसान तरीका है? मैं कई डेटा सेट वाले एक सूची बॉक्स के साथ एक जीयूआई लागू करने की कोशिश कर रहा हूं। मैं कॉलबैक फ़ंक्शन प्लॉट को चयनित डेटा बना सकता हूं, लेकिन मुझे यकीन नहीं है कि जब मैं डेटा सेट को अचयनित करता हूं तो इसे 'अनप्लॉट' कैसे करें। कोई विचार? वैकल्पिक रूप से,क्या मौजूदा अक्षों से एक प्लॉट को हटाने का कोई तरीका है?

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

, यदि आप एक चर में संभाल नहीं सहेजा आप:

+3

आप रुचि हो सकती है FEX पर 'क्लिक करने योग्य' में: http://www.mathworks.com/matlabcentral/fileexchange/21799-clickablelegend – Amro

+0

@Amro: उत्कृष्ट सुझाव! इसे मेरे संज्ञान में लाने के लिए धन्यवाद। – Doresoom

उत्तर

17

आप एक हैंडल को सहेजते हैं करने के लिए बनाया ग्राफिक्स वस्तु, आप उस पर DELETE साजिश से निकालने के लिए कॉल कर सकते हैं FINDOBJ का उपयोग कर इसके लिए खोज कर सकते हैं, फिर इसे ढूंढने पर इसे हटाएं।

आप नहीं वास्तव में यह हटाना चाहते हैं, लेकिन बस वस्तु, चालू और बंद लाइन की दृश्यता बारी आप ग्राफिक्स के 'Visible' property सेट कर सकते हैं तदनुसार हैं:

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

मैं कसम खाता हूं कि मैंने कोशिश की, लेकिन यह तब काम नहीं किया, और अब यह करता है। – Doresoom

+0

आह, मैं 'डिलीट प्लॉटैंडल 'का उपयोग नहीं कर रहा था' हटाएं (प्लॉटैंडल)' – Doresoom

+1

@ डोरसूम: यह बताता है। आदेश वाक्यविन्यास 'हटाएं plothandle' हटाने के लिए' plothandle' नाम की एक * फ़ाइल * की तलाश करेगा। – gnovice

संबंधित मुद्दे