Save a figure with two plots

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

give us a real exemple
This is the real example. It is a simple supply and demand plot.

Sign in to comment.

 Accepted Answer

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.
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 Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Tags

Community Treasure Hunt

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

Start Hunting!