在子绘图轴上以所需比例显示图像

时间:2012-02-01 07:59:05

标签: image matlab plot visualization

是否可以在多个子绘图轴中显示图像,使图像以所需的比例显示?

subplot(3,3,[1 4 7]);
%# image scaled down to fit 1 set of axes
imshow(img);
subplot(3,3,2);
plot(relevantData);
%# And so on with 5 other plots

我希望将图像缩放到固定大小或适合可用的轴,而不是单轴的大小。

我的用例是在视频的旁边显示一个视频,以便逐步与视频一起绘制绘图。一旦显示正确,我可以保存每个图像并将它们组合成一个视频。

澄清

我问是否有可能产生一个描述的图形,而不用以绝对术语指定每个元素的位置。虽然可以用这种方式制作任意数字(事实上我已经为这个项目做过),但它非常乏味。

1 个答案:

答案 0 :(得分:2)

编辑:

用于更改子图的大小:

help subplot中,他们提到您可以在所选的“轴”上设置参数(这就是他们在Matlab中称为绘图区域)。

使用它,您可以设置'位置',如help axes中所示。此属性采用以下参数:

[left, bottom, width, height]

正如@reve_etrange所指出的,应该对轴的“Position”和“OuterPosition”参数使用绝对定位。但它们可以在标准化坐标中。

用于更改子图中图像的大小:

我认为在help imshow输出中有两件有用的东西:

  1. 'InitialMagnification':设置图像的放大倍率。
  2. 'Parent':确定将使用哪个父imshow放入图像(从未尝试过使用带有子图的imshow)。