Save a figure with two plots

1 view (last 30 days)
Joseph Cullen
Joseph Cullen on 11 Jul 2012
This seems like it should be very simple, but it doesn't work. I am plotting two lines in a figure, and want to save the figure as an image. However, the handle h is a vector and saveas doesn't like it. I can't find any help with this in the documentation. What am I missing?
h = plot(price,supply,price,demand)
saveas(h,'myplot','png')
  2 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 11 Jul 2012
give us a real exemple
Joseph Cullen
Joseph Cullen on 12 Jul 2012
This is the real example. It is a simple supply and demand plot.

Sign in to comment.

Accepted Answer

Kevin Claytor
Kevin Claytor on 11 Jul 2012
Your code is just saving the current axes, you want;
hfig = figure;
hplot = plot(price,supply,price,demand)
saveas(hfig,'myplot','png')
  2 Comments
Joseph Cullen
Joseph Cullen on 12 Jul 2012
Edited: Joseph Cullen on 12 Jul 2012
Works! Thanks.
so the handles returned by plot are for each plot in the figure. hfig=figure; gives the handle to the whole figure.
Thats what I need to know.
Matt Kindig
Matt Kindig on 12 Jul 2012
To be precise, the handles returned by plot are handles each of the line objects that make up the plot.
h = plot(price, supply, price, demand); %handles to 2 line objects
ha = get(h(1),'parent'); %handle to axes object
hf = get(ha,'parent'); %handle to figure object

Sign in to comment.

More Answers (0)

Categories

Find more on Printing and Saving in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!