Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab-获取子批行和列_Matlab_Resize_Matlab Figure_Subplot - Fatal编程技术网

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行