Matlab使用tiledlayout(1,3)排列3张图像时如何保持原正方形轴比例?
横向排列多张图像并保留正方形轴比例的解决方法
- 变形原因:默认情况下
tiledlayout、subplot会自动拉伸子图区域适配当前图窗尺寸,未锁定轴比例时图像会随容器形状拉伸,出现比例失真。 - 最简解决方案:在每个子图的
imagesc绘图语句后添加axis image命令,该命令会自动匹配图像原始数据的宽高比,同时裁剪坐标轴多余空白,完美保留图像的正方形比例不会变形。
修改后的可用代码如下:
% 可提前设置图窗宽高比适配3张横向排列的正方形图,避免整体挤压 figure('Position',[100,100,900,320]) t=tiledlayout(1,3); % 可选:缩小子图之间的空隙 t.TileSpacing = 'compact'; nexttile imagesc(emap);colorbar axis image nexttile imagesc(smap);colorbar axis image nexttile imagesc(data) axis image
- 补充说明:如果你需要强制坐标轴为正方形,不需要匹配图像原始比例,可以将
axis image替换为axis square即可。如果使用subplot语法绘制子图,修复逻辑完全一致,每个子图绘制完成后加对应轴比例设置语句即可。
内容的提问来源于stack exchange,提问作者BigBO
相关产品推荐
相关产品推荐

