Tutorial :How do I edit the axes of an image in MATLAB to reverse the direction?


I would like to edit the axes in my series of images being displayed.

This is what my image looks like:


As you can see, it ranges from 0 to about 500 from top to bottom. Can I invert that? Plus, I want to mirror the image being shown, so that it starts from left to right... or, if it's possible, to let the axes show from right to left.


To reverse an axis, you can set the 'XDir' or 'YDir' property of the current axes to 'reverse':

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

Keep in mind that flipping an axis in this way flips everything in the plot as well. This probably isn't what you want to do for the y axis. You probably just want to flip the y axis labels, which you can do by modifying the 'YTickLabel' property in the following way:

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  


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.  

And whoop dee doo the image now have an y axis with the range from bottom to top!

How can I reverse the y-axis when I use the IMAGE or IMAGESC function to display an image in MATLAB? Another solution from mathworks


I found gnovice's answer helpful but it needed some tweaks for me. I think the following is a more general way to reverse the labels on the y axis. Simply sort the y tick numbers in descending order and relabel.

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


I was redirected here from a duplicate question: Flipping axis ticks

What 'ale' wanted to do there was just to flip the y-axis direction to be top down. If that is the only thing needed and nothing else, I would use:

axis ij  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »