如何在Matlab中设置图形尺寸而不设置它的位置?

时间:2017-12-28 07:32:16

标签: matlab plot

在Python中,我可以将大小传递给figure指令:

figure(figsize=(8,6))

在Matlab中我没有看到这种能力。我有像

这样复杂的建议
set(gcf, 'PaperPositionMode', 'manual');
set(gcf, 'PaperUnits', 'inches');
set(gcf, 'PaperPosition', [2 1 4 2]);

包括设置大小和位置。

如何在Matlab中以最简单的方式设置尺寸?

2 个答案:

答案 0 :(得分:4)

这应该有效:

set(gcf, 'Position', get(gcf,'Position').*[1 1 0 0] + [0 0 newWidth newHeight]);

如果你的MATLAB是R2014b或更新,你也可以这样做:

hF = gcf;
hF.Position(3:4) = [newWidth newHeight];

答案 1 :(得分:1)

据我所知,不可能只设置尺寸,但您可以获得默认位置/尺寸并将其用作解决方法。要这样做,只需写下:

figPos = get(0,'defaultfigureposition');
width = 400;
height = 400;
figure('Position', [figPos(1), figPos(2), width, height]);

这将仅在初始化图形时设置大小。对于已初始化的数字,请使用图中的句柄元素gcf

set(gcf, 'Position', [values])

如果您想将该尺寸设为默认尺寸,请使用set至属性'defaultfigureposition'

set(0, 'defaultfigureposition', [values]);