Matlab绘图控制
figure
hold on
plot(z_sequence,fai,'r*')
% 可以随意画 然后直接用axis限制范围
axis([0 700 0 90])
% 确定坐标轴范围 [xmin xmax ymin ymax] 输入的为具体数值
set(gca,'xtick',[1 100 200 300 400 500 600 700]);
% 注意xy要么统一为点数 要么统一为坐标的具体值
% 设定当前axis需要刻度的位置 输入为具体数值
set(gca,'xticklabel',[]);%-1.2:0.6:1.2
% 设置坐标轴刻度对应的数值
set(gca,'ytick',[1 15 30 45 60 75 90]);
set(gca,'yticklabel',[]);%1.2:-0.6:-1.2
set(gca,'unit','centimeters','Position',[0,0,9,7]);
% 设置当前axis在figure中的相对位置 左下为原点 [x0,y0,宽度,高度]
set(gcf,'unit','centimeters','Position',[0,0,9,7]);
% 设置当前figure在主屏幕中的相对位置 左下为原点 [x0,y0,宽度,高度]
% 如果Windows缩放不是100% 那么不保证单位有效
legend('Experiment','Simulation') % 图例 遵循先来后到
另外一个例子,画二维图
% 绘制横排图
x = (((1:1:1600)-800) * 4e-3);
y = (((1:1:1200)-600) * 4e-3);
y = fliplr(y);
k1 = 1;
figure
length_x = 2.7*length(Z)+2;length_y = 2.7;
set(gcf,'unit','centimeters',...
'position',[0,12-6,length_x,length_y]);
for z = Z
subplot(1,9,k1)%length(z_sequence)
tmp = squeeze(W_z(k1,:,:))';
% 转置可能是由于squeeze引起的
imagesc(x,-y,tmp)
% x,-y,是为了后面方便用axis控制范围 -y决定了旋转方向 符号可能是由前面的fliplr引起的
% axis([-0.5 0.5 -0.5 0.5])
colormap(jet(100))
length_x = 2.7;length_y = 2.7;
set(gca,'unit','centimeters',...
'position',[0+k1*length_x-length_x,0,length_x,length_y]);
set(gca,'xtick',[1 300:300:1200]);
set(gca,'xticklabel',[]);%-1.2:0.6:1.2
set(gca,'ytick',[1 300:300:1200]);
set(gca,'yticklabel',[]);%1.2:-0.6:-1.2
k1 = k1 + 1;
end
三维切片图带透明效果
% 绘制三维图
figure
slice(W_z,[],1:9,[])
shading flat
view([1 -0.5 0.5])
alpha('color')
···