フィルターのクリア

How to get same figure size?

17 ビュー (過去 30 日間)
Rounak Saha Niloy
Rounak Saha Niloy 2023 年 10 月 5 日
コメント済み: Adam Danz 2023 年 10 月 5 日
I want to save some figures within a loop. The snippet of my code is as follows:
for i=1:10
%%
% Figure Generation Codes
%%
fig = gcf;
ax = gca; set(gca,'FontName','Arial','FontSize',15);
box on;
ax.BoxStyle = 'full';
grid on;
axis tight;
drawnow;
set(fig, 'Units', 'inches');
set(fig, 'Position', [0, 0, 5, 4]);
set(fig, 'PaperSize', [5, 4]);
Filename=strcat(pwd,filesep,'FigX-',num2str(i));
saveas(gcf,Filename,'fig');
print(Filename,'-depsc2','-r300');
end
The problem is, the eps size for each figure is different. I want all of them to be in 5"x4" size. How can I do this? How can I get each eps files to be of same size?
An alternative approach is to go to "export setup" and then manually export each figure. But as I have tons of plots, manually exporting is not a feasible option to me.

回答 (1 件)

Adam Danz
Adam Danz 2023 年 10 月 5 日
EPS is a vector format that contains info for every pixel which allows you to scale the size while avoiding pixelation. I wonder how you're loading the eps files and whether there is whitespace that is cropped.
Try exporting the image using exportgraphics. Filename should include the file extension.
Filename = 'myimage.eps';
exportgraphics(gcf,Filename,'ContentType','vector')
  2 件のコメント
Rounak Saha Niloy
Rounak Saha Niloy 2023 年 10 月 5 日
file sizes are still different
Adam Danz
Adam Danz 2023 年 10 月 5 日
I'm taking stabs in the dark here without the figures or eps files.
Try setting the PaperPositionMode of the figure to auto prior to calling your print command.
set(fig, 'PaperPositionMode','auto')
If that doesn't work, choose 2 figures that are exporing to different sizes and attach the fig and eps files for the two figures (4 files total).

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

カテゴリ

Help Center および File ExchangePrinting and Saving についてさらに検索

タグ

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by