更改 matlab 子图函数的默认调整大小 属性

changing default resizing property of subplot function of matlab

我想用子图显示三个不同的图形。其中一个是原始的,另一个是用 x 因子过采样的。但是 subplot 调整过采样图像的大小以适应并将其显示为原始图像,即使它的大小比原始图像大 x 倍。我怎样才能更改我的代码以显示它们的实际大小。 这是我的职能:

function zp_over=zp_oversample(zp,fs,N,f)
% zp is my 2d image, fs is sampling frequency, N is dimension of image, f is used for scaling the sampling factor
    % Over-Sampling and plot
    x=round(fs/f);
    zp_ov = zeros(N*x); 
    zp_ov(1:x:end,1:x:end)=zp; 
    figure,subplot(121), imshow(zp_ov); title (' over sampled');
subplot(122);imshow(zp); % Original image
title('Original');

您需要使用 "subplot" 函数的 'position' 选项来手动指定子图的位置和大小。

例如:

figure;
subplot('Position', [0.35, 0.25, 0.5, 0.6]); % [left, bottom, width, height]
imshow(zp_ov);

subplot('Position', [0.35, 0.15, 0.5, 0.6]);
imshow(zp);

当然,坐标和大小的具体值取决于图像的大小。