I've developed an application using the new App Designer. I'd like to have users be able to click a button and save a figure to a .fig file, or some other image format.
function ButtonSaveFigureButtonPushed(app) newfigure = figure; copyobj(app.UIAxesAP, newfigure); hgsave(newfigure, 'testFIgure.fig'); end
But that gave me the error...
Error using matlab.ui.control.UIAxes/copyElement (line 1219) Functionality not supported with UIAxes. For more information, see Graphics Support in App Designer.,/pre>
What's the best way to go about this?
NOTE:-
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help , Finance Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
I spent some time on this for my own purposes. The trick is to save the individual values from the figure into local variables to be used in a figure as follows:
h = figure; h.Visible = 'off'; x = UIAxes.XAxis.Parent.Children.XData; y = UIAxes.XAxis.Parent.Children.YData; plot(x,y) lgndName1 = UIAxes.Legend.String{1}; lgd = legend(lgndName1); lgd.Box = UIAxes.Legend.Box; lgd.Location = UIAxes.Legend.Location; h.CurrentAxes.YLabel.String = UIAxes.YLabel.String; h.CurrentAxes.YLabel.FontSize = UIAxes.YLabel.FontSize; h.CurrentAxes.XLabel.String = UIAxes.XLabel.String; h.CurrentAxes.XLabel.FontSize = UIAxes.XLabel.FontSize; h.CurrentAxes.Title.String = UIAxes.Title.String; h.CurrentAxes.Title.FontSize = UIAxes.Title.FontSize; h.CurrentAxes.XLim = [0 max(x)]; h.CurrentAxes.XLim = [0 max(y)+1]; saveas(h,SaveName,'jpg') savefig(h,SaveName) delete(h)
Notice I have the visibility off, because I don't want the user to see this going in the background.
SEE COMPLETE ANSWER CLICK THE LINK
Comments
Post a Comment