我正在编写一个脚本来调整给我的任何图形的大小,我想获取子图的行和列。例如,如果有人给我一个由以下人员创建的图形:
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 行。
关于Matlab - 获取子图行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749620/