2015-03-13 89 views
1

我想在Matlab中创建一个长度是其长度两倍的图。我尝试使用PositionPaperPositionMode以下this question的建议,像这样:如何让Matlab绘图填充整个页面?

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的情节,我只是想让这个数字小到足以适应这个问题。

回答

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, ...)设置根图形系统值。你也可以用你的身材。希望这可以帮助。

+0

太好了,谢谢。奇怪的是,这不是默认行为。 – rmccloskey 2015-03-13 18:45:32