MATLAB Answers

Rhys
0

Saving a Figure from inside a GUI

Rhys
さんによって質問されました 2013 年 6 月 14 日
Hi all!
I have been designing a few GUIs to make some data analysis easier. At the end process however I want to be able to save the created plot (and legend) with a push button. I have been looking over past questions and have seen a few ways to approach the problem. My current method of saving the plot is as follows
cd('F:\JLAB\Gui_output')
picname=input('Enter Name for Image: ','s')
saveas(handles.ax, picname, 'jpg')
cd(handles.CF)
The problem with this is that I take the whole GUI window instead of just the plot. The two other methods I have seen are the export_fig function and the copyobj method. With the export_fig function I cannot figure out how to tell it to take only the part that I want. With the copyobj method (copy the plot to a figure window and save it there) I cannot figure out how to properly use the function.
Additional info: When I created the axes I defined them with
handles.ax=axes('Outerposition',[.25, 0,0.8,0.8]);
Cheers, Rhys

  0 件のコメント

サインイン to comment.

1 件の回答

Image Analyst
回答者: Image Analyst
2013 年 6 月 14 日
 採用された回答

With export_fig(), you can pass it the axes handle on your GUI if you want to save only the axes. Is that what you meant by "take only the part that I want"? Did you try to pass it the axes handles instead of the figure handle?

  5 件のコメント

Rhys
2013 年 6 月 14 日
Edit
******
I had not seen your comment before I posted this!
******
Now export_fig() almost does what I want it to do but it leaves out my points and the legend. , The way I have it plotted is
errorbar(x1,y1,'rs')
hold on
errorbar(x2,y2,'b*')
hold on
plot(x11,y11,'r--') % exponential fit for x1 y1
hold one
plot(x22,y22,'b--') % exponential fit for x2 y2
The exported image does not have the red squares or the blue stars, and the information on the legend is missing. Other than that it works like a charm!
Cheers!
Image Analyst
2013 年 6 月 15 日
I don't have your data so it's hard for me to reproduce.
Rhys
2013 年 6 月 15 日
Well it worked when I tried it outside of my program so I will just keep playing around with it. Thanks for your help, it is much appreciated!

サインイン to comment.



Translated by