How to have three figures side-by-side to create one composite figure?

29 次查看(过去 30 天)
Hi guys,
A basic question. I have the below test input. I want to put the three generated figures side-by-side and export it as one image like I am doing now. But I want these figures to be side-by-side and have some form of a border/separation/panel between them? I want to create ONE horizontal figure composed of these three 'sub-figures' (i.e., a composite figure).
Thank you
figure(1)
surf(peaks);
colormap(winter);
title('FIGURE 1A', 'FontSize', 12, 'fontweight', 'bold')
figure(2)
surf(peaks);
colormap(autumn);
title('FIGURE 1B', 'FontSize', 12, 'fontweight', 'bold')
figure(3)
surf(peaks);
colormap(spring);
title('FIGURE 1C', 'FontSize', 12, 'fontweight', 'bold')
export_fig FIGURE_1.tiff -m3 -q101 -nocrop

采纳的回答

Image Analyst
Image Analyst 2015-5-10
Try this:
h1 = subplot(1,3,1);
surf(peaks);
colormap(h1, winter);
axis square;
title('FIGURE 1A', 'FontSize', 12, 'fontweight', 'bold')
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
h2 = subplot(1,3,2);
surf(peaks);
axis square;
colormap(h2, autumn);
title('FIGURE 1B', 'FontSize', 12, 'fontweight', 'bold')
h3 = subplot(1,3,3);
surf(peaks);
colormap(spring);
axis square;
title('FIGURE 1C', 'FontSize', 12, 'fontweight', 'bold')
  5 个评论
A
A 2015-5-10
Thanks for the solutions.
So there really isn't a good way to just put a line between 1A and 1B?
Image Analyst
Image Analyst 2015-5-11
I don't see that line() can draw lines on the figure itself so I think you have to use a panel, which has a line around it. Set the string property to null so no words show up on the line. That should work, though you can't use subplot - you'll probably have to use GUIDE or else do it yourself with some difficulty using uicontrol().

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by