You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab创建不同尺寸子图求助:自定义大小图像并排显示

解决Matlab中并排显示不同尺寸图像的问题

我太懂这个痛点了——subplot天生就是把整个绘图区域均分,不管你想让每张图显示成多大,结果全是一样的尺寸,贼闹心。要实现不同尺寸的图像并排显示,别死磕subplot了,直接手动创建坐标轴(axes)来精准控制每个图的位置和大小就行,结合imresize调整图像的显示尺寸,给你写个具体可运行的例子:

% 1. 先读取你的四张图像(替换成你自己的图像路径)
img1 = imread('your_image1.jpg');
img2 = imread('your_image2.jpg');
img3 = imread('your_image3.jpg');
img4 = imread('your_image4.jpg');

% 2. 用imresize设置每张图的显示尺寸(比例自定义)
resized_img1 = imresize(img1, 0.2); % 缩小到原尺寸的20%
resized_img2 = imresize(img2, 0.4); % 缩小到原尺寸的40%
resized_img3 = imresize(img3, 0.3); % 缩小到原尺寸的30%
resized_img4 = imresize(img4, 0.5); % 缩小到原尺寸的50%

% 3. 获取调整后图像的宽高信息
[h1, w1, ~] = size(resized_img1);
[h2, w2, ~] = size(resized_img2);
[h3, w3, ~] = size(resized_img3);
[h4, w4, ~] = size(resized_img4);

% 4. 计算整体布局的参数:统一高度(用最高的图像高度),总宽度加空隙
max_height = max([h1, h2, h3, h4]);
gap = 15; % 图像之间的空隙
total_width = w1 + w2 + w3 + w4 + 3*gap; % 3个空隙

% 5. 创建适配的figure窗口
figure('Position', [100, 100, total_width, max_height + 40]); % 底部留40像素的空间

% 6. 逐个创建坐标轴并显示图像,手动定位
current_x = 10; % 起始x坐标(距figure左侧的像素)

% 第一张图
axes('Position', [current_x/total_width, 20/(max_height+40), w1/total_width, max_height/(max_height+40)]);
imshow(resized_img1);
axis off; % 关闭坐标轴让显示更干净
current_x = current_x + w1 + gap;

% 第二张图
axes('Position', [current_x/total_width, 20/(max_height+40), w2/total_width, max_height/(max_height+40)]);
imshow(resized_img2);
axis off;
current_x = current_x + w2 + gap;

% 第三张图
axes('Position', [current_x/total_width, 20/(max_height+40), w3/total_width, max_height/(max_height+40)]);
imshow(resized_img3);
axis off;
current_x = current_x + w3 + gap;

% 第四张图
axes('Position', [current_x/total_width, 20/(max_height+40), w4/total_width, max_height/(max_height+40)]);
imshow(resized_img4);
axis off;

关键逻辑说明:

  • axes('Position', [left, bottom, width, height])是核心:四个参数都是归一化坐标(范围0-1),分别代表坐标轴距figure左侧、底部的比例,以及坐标轴的宽高占figure的比例。
  • 我们先通过imresize把图像调整到想要的显示尺寸,再根据这些尺寸计算每个坐标轴的位置,这样就能让每张图按你想要的大小并排显示。
  • 如果不想统一高度,也可以把每个坐标轴的height参数改成hX/(max_height+40)(X对应1-4),这样每张图会保持自己的原始宽高比,高度也不一样,完全自定义布局。

内容的提问来源于stack exchange,提问作者intl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:33:35