Как вращать изображение и оси вместе на Matlab?

Код 1, где переворачивание по вертикали и / или по горизонтали не влияетaxes(); Код 2, где предлагаемое решение не дает ожидаемого результата

close all; clear all; clc;
x = [5 8];
y = [3 6];
C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
C2 = C(:,end:-1:1,:);           %# horizontal flip
C3 = C(end:-1:1,:,:);           %# vertical flip
C4 = C(end:-1:1,end:-1:1,:);    %# horizontal+vertical flip

% https://stackoverflow.com/a/4010203/54964
subplot(2,2,1), imagesc(x,y,C)
subplot(2,2,2), imagesc(x,y,C2)
subplot(2,2,3), imagesc(x,y,C3)
subplot(2,2,4), imagesc(x,y,C4)

%% Rotations of axes() unsuccessfully 
% https://stackoverflow.com/a/15071734/54964
figure
subplot(2,2,1), imagesc(x,y,C)
x = linspace(1, size(C, 2), numel(x)); % reverse only x
set(gca, 'XTick', x, 'XTickLabel', x)
subplot(2,2,2), imagesc(x,y,C2)

x = linspace(1, size(C, 2), numel(x)); % reverse back x
set(gca, 'XTick', x, 'XTickLabel', x)  % reverse y
y = linspace(1, size(C, 1), numel(y));
set(gca, 'YTick', y, 'YTickLabel', flipud(y(:)))
subplot(2,2,3), imagesc(x,y,C3)

x = linspace(1, size(C, 2), numel(x)); % now both x,y reversed
set(gca, 'XTick', x, 'XTickLabel', x)
subplot(2,2,4), imagesc(x,y,C4)

Рис. 1 Вывод, где ось остается нетронутой, но изображения переворачиваются правильно, Рис. 2 Вывод при попытке перемещенияxticks/yticks

Ожидаемый результат:

Рис.1 (вверху слева) все правильно по осям с рисункомРис.2 (вверху справа) ось Y правильная, но ось X от 8 до 5Рис.3 (слева внизу) ось Y с 6 по 3, но ось X правильнаяРис.4 (справа внизу) ось Y правильная, но ось X от 3 до 6Попытка 2

Код

% 1 start of vector 2 end of vector 3 length of vector 
figure
subplot(2,2,1), imagesc(x,y,C)
x = linspace(size(C, 2), 1, numel(x)); % reverse only x
set(gca, 'XTick', x, 'XTickLabel', x)
subplot(2,2,2), imagesc(x,y,C2)

x = linspace(1, size(C, 2), numel(x)); % reverse back x
set(gca, 'XTick', x, 'XTickLabel', x)  
y = linspace(size(C, 1), 1, numel(y)); % reverse y
set(gca, 'YTick', y, 'YTickLabel', flipud(y(:)))
subplot(2,2,3), imagesc(x,y,C3)

x = linspace(size(C, 2), 1, numel(x)); % now both x,y reversed
set(gca, 'XTick', x, 'XTickLabel', x)
y = linspace(1, size(C, 1), numel(y)); % reverse y
set(gca, 'YTick', y, 'YTickLabel', flipud(y(:)))
subplot(2,2,4), imagesc(x,y,C4)

Выход

Error using matlab.graphics.axis.Axes/set
While setting the 'XTick' property of 'Axes':
Value must be a vector of type single or double whose values increase

Error in test_imagesc_subplot_figure (line 26)
set(gca, 'XTick', x, 'XTickLabel', x)
Предложение Эскаппа

Я безуспешно делаю следующее, но без изменений на рис. 2; первый ряд цифр остается в том же порядке возрастанияxaxis; Я тоже попробовал вместоreverse - normal

figure
subplot(2,2,1), imagesc(x,y,C)
x = linspace(1, size(C, 2), numel(x)); % reverse only x
set(gca,'xdir','reverse')
subplot(2,2,2), imagesc(x,y,C2)

Выход из рис. 1 и рис. 2axis оставайся таким же

Изучение ЭБХответ

Вывод в метке оси Y при использованииset(gca,'XTick',x,'XTickLabel',x, 'YTick',y,'YTickLabel',fliplr(y)) с переменнымиy=linspace(0,180,181); x=0:0.5:10

Matlab: 2016a
ОС: Debian 8.5 64 бит
Аппаратное обеспечение: Asus Zenbook UX303UA

Ответы на вопрос(1)

Ваш ответ на вопрос