我正在编写一个脚本来调整给我的任何数字的大小,我想得到一个子图的行和列。例如,如果有人给我一个由下列人员创建的数字:
hfig = figure;
haxes = subplot(3,4,1);
...
图或轴中是否有属性告诉我该图有3行4列?我需要调整每个轴的大小,知道行和列很重要,所以我知道如何调整它们的大小。提前谢谢。
答案 0 :(得分:2)
不,没有这样的财产。轴对象只有'Position'
属性。子图功能的作用是计算适当的轴位置。
您可以使用ax = findobj(gcf,'type','axes');
找到图上的所有轴。然后获取get(ax,'position')
的位置,并分析它们的行数和列数。
例如:
pos = cell2mat(get(ax,'position'));
nrows = numel(unique(pos(:,1))); % same X positions
ncols = numel(unique(pos(:,2))); % same Y positions
但请注意,它仅分析现有轴。如果仅使用subplot(221)
和subplot(222)
创建了两个轴,则会获得1行,而不是2行。