我正在编写一个脚本来调整给我的任何图形的大小,并且我想获取子图的行和列。例如,如果有人给我一个由以下人员创建的图形:
hfig = figure;
haxes = subplot(3,4,1);
...
图形或轴句柄中是否有一个属性告诉我图形有 3 行和 4 列?我需要调整每个轴的大小,知道行和列很重要,所以我知道如何调整它们的大小。
我正在编写一个脚本来调整给我的任何图形的大小,并且我想获取子图的行和列。例如,如果有人给我一个由以下人员创建的图形:
hfig = figure;
haxes = subplot(3,4,1);
...
图形或轴句柄中是否有一个属性告诉我图形有 3 行和 4 列?我需要调整每个轴的大小,知道行和列很重要,所以我知道如何调整它们的大小。
不,没有这样的财产。只有'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。