设置图形图大小

时间:2011-03-03 15:47:25

标签: matlab matlab-figure

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

5 个答案:

答案 0 :(得分:80)

This可能对你有帮助吗?

hFig = figure(1);
set(hFig, 'Position', [x y width height])

答案 1 :(得分:58)

将其写为单行

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

enter image description here

答案 2 :(得分:30)

 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

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

答案 3 :(得分: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');

答案 4 :(得分:0)

另一种方法。
tr上,请在figure()之后指定属性或修改图形手柄属性。

这将基于标准化单位创建全屏图形。
h = figure()

figure('units','normalized','outerposition',[0 0 1 1])属性可以调整为英寸,厘米,像素等。

请参见units documentation