更改 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);
当然,坐标和大小的具体值取决于图像的大小。
我想用子图显示三个不同的图形。其中一个是原始的,另一个是用 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);
当然,坐标和大小的具体值取决于图像的大小。