我想在Matlab中创建一个高达两倍的绘图。我尝试使用Position
和PaperPositionMode
来遵循this question的建议,如下所示:
figure
set(gcf,'PaperPositionMode','auto');
set(gcf, 'Position', [0 0 100 200]);
barh(1:20);
print('test', '-dpng');
令人讨厌的是,这会调整纸张尺寸,但不会调整情节,如下所示。
有没有办法制作具有指定宽度和高度的图形?我在无头服务器上运行它,因此单击和拖动或任何其他特定于GUI的解决方案都不是一种选择。显然我实际上并不想要一个100x200的情节,我只是想让这个数字足够小以适应这个问题。
答案 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。使用units
和outerposition
属性。
figure('units','normalized','outerposition',[0 0 1 1])
另请参见position
属性。