2

我正在编写一个脚本来调整给我的任何图形的大小,并且我想获取子图的行和列。例如,如果有人给我一个由以下人员创建的图形:

hfig = figure;
haxes = subplot(3,4,1);
...

图形或轴句柄中是否有一个属性告诉我图形有 3 行和 4 列?我需要调整每个轴的大小,知道行和列很重要,所以我知道如何调整它们的大小。

4

1 回答 1

3

不,没有这样的财产。只有'Position'轴对象的属性。subplot 函数的作用是计算正确的轴位置。

您可以使用 找到图形上的所有轴ax = findobj(gcf,'type','axes');。然后获取位置get(ax,'position')并分析它们的行数和列数。

例如:

pos = cell2mat(get(ax,'position'));
nrows = numel(unique(pos(:,2))); % the same Y position means the same row
ncols = numel(unique(pos(:,1))); % the same X position means the same column

但是请注意,它将仅分析现有轴。如果只创建了两个轴subplot(221)subplot(222)您将得到 1 行,而不是 2。

于 2013-04-01T18:54:48.133 回答