Info

This question is closed. Reopen it to edit or answer.

How to open a .fig (previously saved) in already existing UIaxes_2, UIAxes_3?

1 view (last 30 days)
I am saving a figure with app designer using the following code after the image is displaying.
The fig5 is initially plotted in app.UIAxes_3.
%
fileName5 = fullfile([Foldersavefig], ['Velocity_N_' num2str(ik_part,'00%.0f'),'_p']);
copiedAxesc5 = copyobj([c5, app.UIAxes_3], fig5);
set(fig5, 'CreateFcn', 'set(gcbo,''Visible'',''on'')');
f5 = gcf;
fa5 = gca;
f5.Resize = 'on';
fa5.Units = 'normalized'
fa5.OuterPosition = [0 0 0.8 0.8];
faf5= gcf;
set(gcf,'Visible','off')
savefig(faf5, [fileName5 '.fig']);
%
Then, I want to upload it again in the app when pushing a button and display it directly in the app.UIAxes_3.
I currently do it using openfig() function but the figure pop up first outside (in UIAxes, see picture at right) the app before to be displayed in the UIAxes_3 (using copyobj()).
cla(app.UIAxes_3);
newfig5 = openfig([fileName5 '.fig'], 'invisible');
ax5 = findobj(newfig5,'Type','Axes');
copyobj(ax5.Children, app.UIAxes_3);
% I add here the colorbar
caxis(app.UIAxes_3,[0 VELO_MAX])
c5 = colorbar(app.UIAxes_3);
colormap(app.UIAxes_3,hot)
c5.Label.String = '\alpha_{//}';
c5.Limits = [0 VELO_MAX];
hold(app.UIAxes_3,'off')
delete(newfig5)
I want to display the figure (.fig) in the UIAxes_3 directly and don't have it poping up before outside.
One option is to save the plot as .png and use imread and imshow (as followed) but it is pixelized.
file1 = imread(fullname1);
image1=im2double(file1);
imshow(image1, 'parent', app.UIAxes_3)
How to
Or how to display the .fig in the specific UIAxes_3 and prevent the figure to pop up?
  1 Comment
Noemie Danne
Noemie Danne on 28 Feb 2022
Finally, the solution was to load the mat files with the variables I need and plot again the figure in the UIAxes I wanted.

Answers (0)

This question is closed.

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!