2010-05-19 8 views
13

मैं प्रदर्शित होने वाली छवियों की मेरी श्रृंखला में अक्ष को संपादित करना चाहता हूं। यह नीचे करने के लिए के बारे में 500 ऊपर से करने के लिए 0 से लेकरदिशा को उल्टा करने के लिए MATLAB में किसी छवि के अक्षों को मैं कैसे संपादित करूं?

parabola

आप देख सकते हैं,:

यह वही मेरी छवि की तरह लग रहा है। क्या मैं इसे उलटा कर सकता हूँ? प्लस, मैं दिखाए जा रहे छवि को दर्पण करना चाहता हूं, ताकि यह बाएं से दाएं से शुरू हो ... या, यदि संभव हो, तो अक्ष को दाएं से बाएं दिखाएं।

उत्तर

17

एक धुरी उलटने के लिए, आप current axes'reverse' के 'XDir' या 'YDir' गुण सेट कर सकते हैं:

set(gca,'XDir','reverse'); %# This flips the x axis 

ध्यान रखें कि इस तरह से एक धुरी flipping साजिश में सब कुछ flips के साथ-साथ। यह शायद वह नहीं है जो आप वाई अक्ष के लिए करना चाहते हैं। अब के साथ एक y अक्ष है

yLimits = get(gca,'YLim'); %# Get the y axis limits 
yTicks = yLimits(2)-get(gca,'YTick'); %# Get the y axis tick values and 
             %# subtract them from the upper limit 
set(gca,'YTickLabel',num2str(yTicks.')); %'# Convert the tick values to strings 
              %# and update the y axis labels 
+0

धन्यवाद यह पूरी तरह से काम करता है !! टिप्पणी जोड़ने के लिए धन्यवाद ताकि मैं समझ सकूं कि कोड कैसे काम करता है! - एक अतिरिक्त सवाल, क्या मैं एक्स-अक्ष/वाई-अक्ष मानों को बदल सकता हूं? – NLed

+0

@ZaZu: आप धुरी के 'एक्सटिक' और 'वाईटिक' गुणों को बदलकर अक्ष मानों को बदल सकते हैं। यदि '' XTickLabelMode 'और 'YTickLabelMode' गुणों को 'ऑटो' पर सेट किया गया है (डिफ़ॉल्ट, जब आपने लेबल संशोधित नहीं किए हैं), तो टिक टिक को बदलने के बाद लेबल स्वचालित रूप से अपडेट हो जाएंगे। अन्यथा, आपको लेबल खुद को अपडेट करना होगा। – gnovice

+0

धन्यवाद, बस अद्भुत :) – NLed

2
Im = imread('onion.png'); 

Im = flipdim(Im ,1); % vertical flip the image. 

axis xy; %set the xy to be at (0,0), this flips the image back again. 

और छवि डू डी whoop: आप शायद सिर्फ y अक्ष फ्लिप करने लेबल, जो आप निम्नलिखित तरीके से 'YTickLabel' संपत्ति को संशोधित करके क्या कर सकते हैं नीचे से ऊपर तक सीमा!

जब मैं MATLAB में छवि प्रदर्शित करने के लिए IMAGE या IMAGESC फ़ंक्शन का उपयोग करता हूं तो मैं वाई-अक्ष को कैसे उलट सकता हूं?Another solution from mathworks

2

मुझे gnovice का उत्तर उपयोगी पाया लेकिन इसके लिए मुझे कुछ बदलावों की आवश्यकता थी। मुझे लगता है कि y अक्ष पर लेबल को उलट करने के लिए निम्नलिखित एक सामान्य तरीका है। बस y टिक टिक संख्या अवरोही क्रम और relabel में सॉर्ट करें।

yTicks = get(gca,'YTick'); 
yTicks_reverse = sort(yTicks,2,'descend');          
set(gca,'YTickLabel',num2str(yTicks_reverse.')); 
+0

तेज़ और आसान, मुझे लगता है: 'छवि (आईएम); सेट (जीसीए, 'वाईडीर', 'सामान्य') ' –

0

मैं यहाँ एक नकली सवाल से पुनः निर्देशित किया गया था: Flipping axis ticks

क्या शराब 'करना चाहता था सिर्फ y- अक्ष दिशा शीर्ष नीचे होने के लिए फ्लिप करने गया था। यदि यह एकमात्र चीज है और कुछ और नहीं है, तो मैं इसका उपयोग करूंगा:

axis ij 

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

  • कोई संबंधित समस्या नहीं^_^