2012-02-06 13 views
8

मैटलैब एक साजिश के चारों ओर एक काला सीमा प्रदर्शित कर रहा है और मैं इसे हटाना चाहता हूं। मुझे लगता है कि मैं की तरह कुछ का उपयोग करना चाहिए:मैटलैब प्लॉट के आसपास सीमा हटाएं

set(Figure#,'PropertyName',PropertyValue); 

लेकिन मुझे यकीन है कि क्या PropertyName या PropertyValue इस्तेमाल किया जाना चाहिए नहीं कर रहा हूँ ...

संपादित करें:

मैं सहित सभी सुझावों की कोशिश की:

set(gca,'box','off'); 
set(gca,'xcolor','w','ycolor','w','xtick',[],'ytick',[]); 
axis off; 

आंकड़ा अभी भी एक काला आवासी है और इस तरह दिखता है:

enter image description here

संपादित करें 2: यह एक सरलीकृत पैकेज है जो ब्लैक बॉक्स को पुन: उत्पन्न करता है। "RunPlot" नामक स्क्रिप्ट चलाएं। यहां यह है: http://dl.dropbox.com/u/8058705/plotTest.zip मुझे पता नहीं लगा कि बॉक्स अभी भी क्यों दिखाई दे रहा है। यह "plotTEC.m" में लाइन के कारण हो सकता

axis([-.65 .6 .25 1.32]) % hardwiring axis length since the coastline runs off of the plot

@Pursuit: यदि मैं का उपयोग "साजिश ब्राउज़र" मैं एक पुनरावर्ती त्रुटि मिलती है .... मैं matlab साजिश रचने पैकेज से परिचित नहीं हूँ लेकिन यह अजीब लगता है। क्या किसी और को यह त्रुटि मिलती है? फिर, आपकी सलाह के लिए धन्यवाद दोस्तों!

क्या किसी के पास कोई अन्य सुझाव है?

अग्रिम धन्यवाद!

+0

मुझे लगता है कि आपको यह निर्धारित करने के लिए मैन्युअल रूप से जांच करने की आवश्यकता होगी कि रेखाएं कहां खींची जा रही हैं। विवरण के लिए नीचे संपादित उत्तर देखें। – Pursuit

उत्तर

14

आप अक्ष के गुणों के साथ प्रयोग करना चाहते हैं। ब्याज के कुछ गुण।

xcolor %The color of the x-axis line and the x axis labels 
ycolor % 
box  %'on', or 'off' indicating if one or both sides of a plot should have lines 
xtick %Where to place the labels 
ytick 

एक पूरी तरह से नंगे भूखंड के लिए, का उपयोग करें:

figure 
set(gca,'xcolor','w','ycolor','w','xtick',[],'ytick',[]) 

रूप में अच्छी तरह सफेद करने के लिए आंकड़ा पृष्ठभूमि सेट

set(gcf,'color','w') 

अपने सटीक समस्या पर निर्भर करता है के लिए, आप 'बॉक्स कोशिश कर सकते हैं 'संपत्ति, यह देखने के लिए कि यह आपके प्लॉट्स को कैसे प्रभावित करता है

set(gca,'box','on') 
set(gca,'box','off') 

यदि आप वास्तविक भूखंड लाइनों को बंद करना चाहते हैं लेकिन साजिश लेबल रखना चाहते हैं तो मुझे एक साधारण समाधान से अवगत नहीं है। मुझे लगता है कि मुझे ऊपर वर्णित अक्षों को हटाने की आवश्यकता होगी, और उसके बाद मैन्युअल रूप से text फ़ंक्शन का उपयोग करके लेबल जोड़ें।


संपादित करें: के रूप में मैं सिर्फ इस सवाल का, Plot Overlay MATLAB से सीखा तुम भी कोशिश कर सकते हैं

axis off 
axis on 

कौन सा मुझे लगता है कि करने के लिए

set(gca,'visible','off') 
set(gca,'visible','on') 

संपादित 2 बराबर है:

यदि कुछ और नहीं काम करता है, अपने आकृति में "साजिश ब्राउज़र" सक्रिय करें। "व्यू" -> "साजिश ब्राउज़र" का प्रयोग करें। साजिश ब्राउज़र पैनल से, प्रत्येक ऑब्जेक्ट को अनचेक करें जब तक कि आप यह न समझें कि कौन सी ऑब्जेक्ट उन रेखाओं को चित्रित कर रही है जिन्हें आपको हटाने की आवश्यकता है।

फिर "संपत्ति संपादक" पैनल लाने के लिए अपमानजनक ऑब्जेक्ट पर डबल क्लिक करें, और अधिकतर उस ऑब्जेक्ट के सभी संभावित गुण देखने के लिए "अधिक गुण" पर क्लिक करें। उस दृश्य से आप उम्मीद कर सकते हैं कि कौन सी वस्तु अपमानजनक रेखाओं को चित्रित कर रही है।

आपके द्वारा ऑब्जेक्ट और संपत्ति को संपादित करने के बाद पता लगाने के बाद, आप शायद यह पता लगा सकते हैं कि उस ऑब्जेक्ट में कोड कहां बनाया गया है, और प्रोग्राम को प्रोग्रामेटिक रूप से सेट किया गया है।

+0

बहुत बढ़िया! धन्यवाद। क्या आपको पता है कि मैटलैब आकृति गुणों की सूची कहीं है? – GPSmaster

+1

@GPSmaster - आप हमेशा GET कमांड का उपयोग कर किसी ऑब्जेक्ट की प्रॉपर्टी देख सकते हैं, उदा। 'प्राप्त करें (जीसीएफ) 'या' प्राप्त करें (जीसीए) '। –

+0

बहुत अच्छा। एक बार फिर धन्यवाद! – GPSmaster

6

प्रयास करें:

 
set(gca, 'Box', 'off'); 
+0

मेरी मूल पोस्ट में "संपादित करें 2" देखें। आपकी मदद के लिए बहुत बहुत धन्यवाद! – GPSmaster

3

समाधान imagesc

I = imread('imgname.jpg'); 
[rows columns] = size(I); 
posX = 100; posY = 100; %you can set any value for posX and posY - try to keep it on screen 
f = figure (1); 
imagesc(I); 
set(gcf,'Position',[posX posY columns rows]); 
set(gca,'units','pixels'); 
set(gca,'units','normalized','position',[0 0 1 1]); 
axis off; 
axis tight; 

इस में 'ग्रे' पृष्ठभूमि को दूर करने के मूल के रूप में एक ही आकार के साथ छवि को बचाने चाहिए, imagesc का उपयोग कर। चीयर्स!

+0

यह साजिश, imshow, आदि पर काम करता है – dbs

+1

छवि को 'सेव' आइकन या फ़ाइल -> 'सेव एज़' के साथ सहेजें। Matlab प्रिंट, saveas, आदि के परिणामस्वरूप विभिन्न छवि आकार होगा। – dbs

+0

यह सच और कष्टप्रद है, लेकिन वहां 'export_fig' ([यहां पाया गया है) (http://www.mathworks.com/matlabcentral/fileexchange/23629-export-fig)) जो आम तौर पर प्लॉट को सहेजने का वास्तव में अच्छा काम करता है। प्लॉट प्रोग्रामेटिक रूप से बचाने के लिए कुछ अच्छा है। – whlteXbread

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