需求:matlab默认的横、纵轴分别在bottom和left。现在我想让横坐标在最上面,并且相对应的原点在"左上角",即纵轴的0点应该在最上面(与原始方向相反)。
调轴位置命令:set(gca, 'xaxislocation', 'top');
调换轴刻度方向命令:set(gca, 'ydir', 'reverse');
实现如下:
clear ; clc
t = 1:0.1:10;
x = t.^2;
figure(1);
subplot(1,2,1);
plot(x,t);
xlabel('x'); ylabel('t'); grid on;
title('默认布局')
subplot(1,2,2);
plot(x,t);
xlabel('x'); ylabel('t'); grid on;
title('调换后布局');
set(gca,'xaxislocation','top'); % 把x轴换到上方
set(gca,'ydir','reverse'); % 把y轴刻度倒置
效果:
坐标轴布局调整效果图.png
注意:set的命令都是在画完图之后才进行的,即在plot命令之后!
理解:因为set中的gca参数的是当前图像,即set是对当前图像做调整;如果当前上面图都没画呢,那肯定调整不了!故set调整要在plot画完图之后。