如何使Matlab图填满整个页面?

时间:2015-03-13 17:59:00

标签: matlab matlab-figure

我想在Matlab中创建一个高达两倍的绘图。我尝试使用PositionPaperPositionMode来遵循this question的建议,如下所示:

figure
set(gcf,'PaperPositionMode','auto');
set(gcf, 'Position', [0 0 100 200]);
barh(1:20);
print('test', '-dpng');

令人讨厌的是,这会调整纸张尺寸,但不会调整情节,如下所示。

a large plot on undersized paper

有没有办法制作具有指定宽度和高度的图形?我在无头服务器上运行它,因此单击和拖动或任何其他特定于GUI的解决方案都不是一种选择。显然我实际上并不想要一个100x200的情节,我只是想让这个数字足够小以适应这个问题。

2 个答案:

答案 0 :(得分:1)

您可以尝试设置纸张尺寸和单位。 There's a similar question on Mathworks。相关内容:

set(0,'defaultfigurepaperunits','inches');
set(0,'defaultfigurepaperorientation','landscape');
set(0,'defaultfigurepapersize',[8.5 11]);
set(0,'defaultfigurepaperposition',[.25 .25 [8.5 11]-0.5]);

其中set(0, ...)设置根图形系统值。您也可以使用您的数字。希望这会有所帮助。

答案 1 :(得分:0)

对于figure(),替代方法引用documentation。使用unitsouterposition属性。

figure('units','normalized','outerposition',[0 0 1 1])

另请参见position属性。