How to reconstruct a figure with a "line" variable

40 views (last 30 days)
I have something like
% Code running to generate x- and y- data
h = plot(xData, yData,'propertyname', 'propertyvalue')
save('Filename')
When I open 'Filename.mat' I can see 'h' in the workspace with all the properties of the line I plotted as '1x1 Line'.
I would like to, in a different script, create a new figure and axes and plot that line with all the properties it has. I know how to get all the properties using h.XData, h.YData, h.MarkerSize, etc, but I would like there to be somemore efficient command like
f=figure
set(f,'addplot',h)
Thanks!
  2 Comments
dpb
dpb on 16 Jun 2019
"...would like there to be somemore efficient command"
There is --it's savefig and openfig
Nick Brewer
Nick Brewer on 16 Jun 2019
But I would like to be able to save several different plots and later, along with the saved properties, mix and match them in different figures.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 16 Jun 2019
You cannot directly copy a line() object to a figure. You can copy a line() object to an axes, or you can copy an axes to a figure.
%entire axes
f = figure;
hax = get(h,'Parent');
copyobj(hax, f);
or
%line only
f = figure;
fax = axes('Parent', f);
copyobj(h, fax);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!