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 件のコメント

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 7 月 11 日
give us a real exemple
Joseph Cullen
Joseph Cullen 2012 年 7 月 12 日
This is the real example. It is a simple supply and demand plot.

サインインしてコメントする。

 採用された回答

Kevin Claytor
Kevin Claytor 2012 年 7 月 11 日

1 投票

Your code is just saving the current axes, you want;
hfig = figure;
hplot = plot(price,supply,price,demand)
saveas(hfig,'myplot','png')

2 件のコメント

Joseph Cullen
Joseph Cullen 2012 年 7 月 12 日
編集済み: Joseph Cullen 2012 年 7 月 12 日
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 2012 年 7 月 12 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Creating, Deleting, and Querying Graphics Objects についてさらに検索

製品

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by