扩大 Matlab 图的绘图区

Expand Plot Area of Matlab Figure

我正在制作一个绘图并使用文件交换的 legendflex 函数,并且我将 运行 置于一个问题中,其中我有一个图形元素从一侧扩展。有没有办法扩展图形 window 以便我可以看到绘制的所有内容?

一个简单的例子如下:

bar(rand(10, 2))
legendflex({'First Series', 'Second Series'}, 'anchor', [4 8])

我注意到 legendflex 中的文档有一个部分讨论了调整大小函数回调,但是当我将其设置为空并调整图形大小时,图例最终出现在图的中间。我试过更改 Position 和 OuterPosition 属性,但绘图总是在图中扩展,图例随之移动并继续离开图的边缘(或者如果我弄乱了调整大小功能,则根本不会移动)。

有没有人有办法在不改变底层图的情况下扩大图形的大小或"zoom out"?

虽然没有完全回答原始问题,但以下代码确实产生了预期的效果:

bar(rand(10, 2));
ax = gca;
ax.Position = [ax.Position(1:2) ax.Position(3)*.75 ax.Position(4)];
legendflex({'First Series', 'Second Series'}, 'anchor', [4 8]);

这会在添加图例之前调整轴的大小,以便在添加图例时在图的右侧显示 space。