设置图形图形尺寸


91

我要做的就是使宽度更大而高度更小。我只是在做栅格图,但是这个问题适用于任何MATLAB figure。我可以在创建图形时直接使用图形手动调整其大小,但是我希望程序以正确的尺寸将其吐出。

Answers:


81

这里figure引用可以为a设置的属性。

然后,您可以使用:

figure_number = 1;
x      = 0;   % Screen position
y      = 0;   % Screen position
width  = 600; % Width of figure
height = 400; % Height of figure (by default in pixels)

figure(figure_number, 'Position', [x y width height]);

12
以及如何保存由定义的相同尺寸的图形set?如saveas(gcf, file, 'png')使用默认尺寸。
伊什特万Zachar


64

它写的一行代码

figure('position', [0, 0, 200, 500])  % create new figure with specified size  

在此处输入图片说明


31
 figure (1)
 hFig = figure(1);
 set(gcf,'PaperPositionMode','auto')
 set(hFig, 'Position', [0 0 xwidth ywidth])
 plot(x,y)
 print -depsc2 correlation.eps;       % for saving in eps, look up options for saving as png or other formats you may need

这会将图形保存在指定的尺寸中


8
为“ PaperPositionMode” +1,您需要“打印”(导出)图形。
阿里2013年

1

通过以下顺序,我设法获得了不错的结果(在开始时运行Matlab两次):

h = gcf; % Current figure handle
set(h,'Resize','off');
set(h,'PaperPositionMode','manual');
set(h,'PaperPosition',[0 0 9 6]);
set(h,'PaperUnits','centimeters');
set(h,'PaperSize',[9 6]); % IEEE columnwidth = 9cm
set(h,'Position',[0 0 9 6]);
% xpos, ypos must be set
txlabel = text(xpos,ypos,'$$[\mathrm{min}]$$','Interpreter','latex','FontSize',9);

% Dump colored encapsulated PostScript
print('-depsc2','-loose', 'signals');

0

一种不同的方法。
figure()调用后,指定属性或修改图形手柄属性h = figure()

这将基于标准化单位创建全屏图形。
figure('units','normalized','outerposition',[0 0 1 1])

units属性可以调整为英寸,厘米,像素等。

请参阅figure 文档

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.