首页 文章

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

提问于
浏览
1

我想在Matlab中创建一个高达两倍的绘图 . 我试着按照this question的建议使用 PositionPaperPositionMode ,如下所示:

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 回答

  • 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

    替代方法参考documentation for figure() . 使用 unitsouterposition 属性 .

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

    另请参阅 position 属性以获取另一种方法 .

相关问题