Matlab - 获取子图行和列

标签 matlab resize matlab-figure subplot

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

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/

相关文章:

matlab - matlab中的三次样条

excel - 通过 Matlab 打开 MS Excel

matlab - MATLAB 中的输入

python - 如何在Python或matlab中创建叠加气泡图?

matlab - 循环遍历单位三角形中的点

java - 调整 JPanel 大小

php - 调整图像文件 laravel 5

ios - 处理 UIView 大小调整的最稳定方法?

matlab - 散点饼图

matlab - 当我添加新输入时,如何使以前的输入在 Matlab 图中逐渐淡出