Как мне отредактировать оси изображения в MATLAB, чтобы изменить направление? - PullRequest
13 голосов
/ 19 мая 2010

Я хотел бы редактировать оси в серии отображаемых изображений.

Вот как выглядит мое изображение:

parabola

Как видите, оно колеблется от 0 до 500 сверху вниз. Могу ли я инвертировать это? Кроме того, я хочу отразить отображаемое изображение так, чтобы оно начиналось слева направо ... или, если это возможно, показывать оси справа налево.

Ответы [ 4 ]

17 голосов
/ 19 мая 2010

Чтобы повернуть ось в обратном направлении, вы можете установить свойство 'XDir' или 'YDir' для текущих осей в 'reverse':

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

Имейте в виду, что поворот оси таким же образом переворачивает все на графике. Это, вероятно, не то, что вы хотите сделать для оси Y. Вы, вероятно, просто хотите перевернуть ось Y метки , что можно сделать, изменив свойство 'YTickLabel' следующим образом:

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
2 голосов
/ 08 декабря 2013

Я нашел ответ gnovice полезным, но мне потребовались некоторые изменения. Я думаю, что следующее является более общим способом поменять метки на оси Y. Просто отсортируйте номера тиков в порядке убывания и перемаркируйте.

yTicks = get(gca,'YTick');   
yTicks_reverse = sort(yTicks,2,'descend');                                      
set(gca,'YTickLabel',num2str(yTicks_reverse.')); 
2 голосов
/ 18 мая 2013
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.

И вот теперь у изображения есть ось y с диапазоном снизу вверх!

Как изменить направление оси Y при использовании функции ИЗОБРАЖЕНИЯ или ИЗОБРАЖЕНИЯ для отображения изображения в MATLAB? Другое решение от mathworks

0 голосов
/ 20 мая 2014

Я был перенаправлен сюда из дублирующего вопроса: Отражение осей галочек

То, что «эль» хотел сделать, это просто перевернуть направление оси Y, чтобы оно было сверху вниз. Если это единственное, что нужно, и ничего больше, я бы использовал:

axis ij
...