Saving a .fig file as a .png

30 次查看(过去 30 天)
Edward Steen
Edward Steen 2017-6-30
评论: Jan 2017-6-30
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.

采纳的回答

Jan
Jan 2017-6-30
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 个评论
Edward Steen
Edward Steen 2017-6-30
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 2017-6-30
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Printing and Saving 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by