matlab 中是否有任何选项可以优化(行,列)以显示子图?

Is there any option in matlab to optimize (row,column) in order to show subplots?

我必须在一个图中用子图绘制不同的图形,但我不知道会绘制多少,因为这取决于用户引入的数据(for 循环)。为了绘制子图,我需要知道列数和行数。 matlab 中是否有任何选项可以让 matlab 配置最佳的列数和行数以显示知道要执行的子图总数的图?我的意思是 subplot(a,b,c) => 知道 c 的最佳 a,b 组合。

现在我要求用户介绍列数和行数,但这有点不舒服。也许将总子图分解为 2 个最相等的因子的算法应该可行,但我认为编写该代码非常困难。如果它太复杂,我会按照我的方式进行,但我对此很好奇。

我认为没有内置的解决方案;在实践中对我来说效果很好的是以下方法,在这种方法中,我尝试获得一个近乎正方形的排列,其中列数比行数多(因为屏幕宽高比宽):

nRows = floor(sqrt(nPlots));
nCols = ceil(nPlots/nRows);