Matlab-获取子批行和列
我正在编写一个脚本来调整给定给我的任何图形的大小,我希望得到子地块的行和列。例如,如果有人给我一个由以下人员创建的图形:Matlab-获取子批行和列,matlab,resize,matlab-figure,subplot,Matlab,Resize,Matlab Figure,Subplot,我正在编写一个脚本来调整给定给我的任何图形的大小,我希望得到子地块的行和列。例如,如果有人给我一个由以下人员创建的图形: hfig = figure; haxes = subplot(3,4,1); ... 地物或轴句柄中是否有属性告诉我地物有3行4列?我需要调整每个轴的大小,了解行和列很重要,这样我就知道如何调整它们的大小 不,没有这样的属性。轴对象只有'Position'属性。子地块函数的作用是计算正确的轴位置 您可以使用ax=findobj(gcf,'type','axes')找到图形上
hfig = figure;
haxes = subplot(3,4,1);
...
地物或轴句柄中是否有属性告诉我地物有3行4列?我需要调整每个轴的大小,了解行和列很重要,这样我就知道如何调整它们的大小 不,没有这样的属性。轴对象只有
'Position'
属性。子地块函数的作用是计算正确的轴位置
您可以使用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
但是请注意,它将仅分析现有轴。如果仅使用子批次(221)
和子批次(222)
创建了两个轴,则将得到1行,而不是2行