Saving a .fig file as a .png

31 views (last 30 days)
Edward Steen
Edward Steen on 30 Jun 2017
Commented: Jan on 30 Jun 2017
I'm trying to save .fig files as .png in order to include them in a Latex document. The plots look great in .fig format, but when I save them as .png files, the font sizes that I specified don't stick and the font sizes revert to something much smaller than I want. Is there a way to get around this. I would use the .fig files, but Latex doesn't seem to like this format. Thanks for any help.

Accepted Answer

Jan
Jan on 30 Jun 2017
You forgot to mention how you create the PNG file. With a screenshot the output equals the display on the screen exactly:
F = getframe(gcf);
imwrite(F.cdata, 'YouFile.png')
  2 Comments
Edward Steen
Edward Steen on 30 Jun 2017
Here is my code creating the .fig file:
figure(1) subplot(2,1,1) x2=aa(:,1); y2=aa(:,2); z2=aa(:,3); plot(x2,y2)
dx=0.1; dy=0.1; x_edge=floor(min(x2)):dx:ceil(max(x2)) y_edge=floor(min(y2)):dy:ceil(max(y2))
[X2,Y2]=meshgrid(x_edge,y_edge); Z2=griddata(x2,y2,z2,X2,Y2); contourf(X2,Y2,Z2,30) %or contourf with 50 lines title('Stability Contours of \lambda_1','fontsize',16) xlabel('\alpha_3','fontsize',18) ylabel('\alpha_4','fontsize',18) colorbar
Then what??
Thanks, and I appreciate the help.
Jan
Jan on 30 Jun 2017
The code to create the figure does not matter. The code I've posted creates a screen copy of every figure. Did you try to run it?
Using gcf is less safe than defining the figure handle explicitely:
FigH = figure;
... your code
drawnow;
F = getframe(FigH);
imwrite(F.cdata, 'YouFile.png')
gcf can reply an unexpected figure, if the user clicks on another figure during the code runs.

Sign in to comment.

More Answers (0)

Categories

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

Products

Community Treasure Hunt

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

Start Hunting!