How to stick one figure to the center of another figure

4 次查看(过去 30 天)
I have a main figure f with size 1200 x 800 working as my UI. I created another figure f2 of size 512x512 which presents an image:
figure(2)
set(gcf,'units','pixels','position',[500,500,512,512]);
h1 = axes;
set(h1,'position',[0 0 1 1])
set(gca,'XAxisLocation','top','YAxisLocation','left','ydir','reverse');
set (gca, 'visible' , 'off' )
set (gca, 'xtick' , [])
set (gcf, 'color', defaultColor)
axis equal
% Plot some curves
plot(x,y)
% Rasterize
set(gcf, 'InvertHardcopy', 'off')
if ismac || isunix
img = print(gcf,'-r72','-RGBImage');
elseif ispc
img = print(gcf,'-r96','-RGBImage');
end
% Show image
imshow(img)
I tried something like this:
ax1 = gca;
copyobj(ax1,f);
This can present the image in f1, but it looks like the image is scaled, that the size is bigger than 512x512. Is there a way to stick f2 to the center of f1 as well as keeping the original size?
Thank you very much!

采纳的回答

Prabhanjan Mentla
Prabhanjan Mentla 2020-8-21
Hi,
This question is already answered, refer the below link:
Hope this helps.

更多回答(1 个)

xiaojuezi
xiaojuezi 2020-8-23
I figured out a quick solution. Simply change the last part as:
figure(1)
imshow(img)
No need to copy the object.

Community Treasure Hunt

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

Start Hunting!

Translated by