Colorbar调整子图的大小

时间:2017-09-15 13:48:29

标签: image matlab matlab-figure subplot

我正在尝试使用subplot

在MATLAB中并排绘制3张图像
maxValue =  9;
minValue =  5;

figure(1)
subplot(1,3,1);
imshow(im1);
axis equal;

subplot(1,3,2);
imagesc(im2);colorbar;
caxis([minValue maxValue]) 
axis equal;

subplot(1,3,3);
imagesc(im3);colorbar;
caxis([minValue maxValue]) 
axis equal;

但结果如下:

results

显然,颜色条正在调整图像大小。如何使所有3个图像的大小相同,并且颜色条符合图像的大小?

2 个答案:

答案 0 :(得分:2)

根据可用空间调整图像大小以保持其宽高比 使用subplot(1,3,1)代替axis equal。{。} 您可能还需要最大化图形窗口。功能

对于im1 = imread('peppers.png');,结果为:

axis normal;

答案 1 :(得分:0)

这是我最终做的事情:

fig = figure(1);
set(fig, 'Position', [52 529 1869 445]); % Resize the image
subplot(1,3,1); % Add a subplot
subaxis(1,3,1, 'Spacing', 0.03, 'Padding', 0, 'Margin', 0); % Remove whitespace from subplot
imshow(im);
axis equal; % Use undistorted images


subplot(1,3,2);
subaxis(1,3,2, 'Spacing', 0.03, 'Padding', 0, 'Margin', 0);
imagesc(depth_gt);colorbar;
caxis([minValue maxValue]) 
axis equal;


subplot(1,3,3);
subaxis(1,3,3, 'Spacing', 0.03, 'Padding', 0, 'Margin', 0);
imagesc(depth_pred);colorbar;
caxis([minValue maxValue]) 
axis equal;

您可以通过手动调整图像大小,然后在Matlab命令终端中打印fig的输出来获取此“位置”