Plot surface from a stored handle (handle of a surface) in .mat file

Hi everyone. It's possible to plot with a handles stored in mat file. For example:
% Points for any surface
[x,y,z] = peaks(50);
% Getting handle, plotting surface and save in object.mat
handle = surf(x,y,z);
save('object.mat','handle')
Now read handle from the object.mat file:
sobf = load('object.mat');
sobf = sobf.handle;
% Any way to plot directly without extract X,Y or ZData

 Accepted Answer

How about this?
set(sobf, 'Parent', gca)
If you want to save the view, gridlines, ticks, anything else about the axes rather than the plot, you could save the axes as well:
% Points for any surface
[x,y,z] = peaks(50);
% Getting handle, plotting surface and save in object.mat
ax = axes;
handle = surf(ax, x,y,z);
save('axes.mat', 'ax')
save('object.mat','handle')
delete(gcf);
sobf = load('object.mat');
hax = load('axes.mat');
sobf = sobf.handle;
ax = hax.ax;
set(sobf, 'Parent', ax)
set(ax, 'Parent', gcf);

More Answers (0)

Products

Release

R2017a

Community Treasure Hunt

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

Start Hunting!