Как изменить оси изображения в MATLAB, чтобы изменить направление?
Я хотел бы отредактировать оси в моей серии отображаемых изображений.
Вот как выглядит мое изображение:
![parabola]()
Как вы можете видеть, он колеблется от 0 до 500 сверху вниз. Могу ли я инвертировать это?
Кроме того, я хочу отразить отображаемое изображение, чтобы оно начиналось слева направо... или, если возможно, чтобы оси отображались справа налево.
Ответы
Ответ 1
Чтобы изменить ось, вы можете установить '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
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, когда я использую функцию IMAGE или IMAGESC для отображения изображения в MATLAB? Другое решение из mathworks
Ответ 3
Я нашел gnovice ответ полезным, но для меня были нужны некоторые настройки. Я думаю, что следующее является более общим способом поменять метки на оси y. Просто отсортируйте номера тиков в порядке убывания и перемаркируйте.
yTicks = get(gca,'YTick');
yTicks_reverse = sort(yTicks,2,'descend');
set(gca,'YTickLabel',num2str(yTicks_reverse.'));
Ответ 4
Я был перенаправлен здесь из дублированного вопроса:
Отметки огибающей оси
То, что 'ale' хотел сделать, состояло в том, чтобы просто перевернуть направление оси Y, чтобы оно было сверху вниз. Если это единственное, что нужно, и ничего больше, я бы использовал:
axis ij