我在Matlab中创建嵌套子图时遇到问题。我想创造两个数字。第一个图,fig1包含4x4 = 16个子图。这些子图中的每一个都由另一个图形图2组成,图2本身由多个维度Nx1的子图组成,其中N根据不同的数据而变化。
在阅读各种线程后,我尝试了以下方法。首先我生成fig2,然后临时保存,然后加载它并尝试将其保存在figure1的子图中。但我有两个问题。首先,我认为这种方法很慢,即便如此,我也遇到了错误信息。简称如下:
for i=1:16 h(i)=subplot(4,4,i);end %To get the positions of the subplots
pos=get(h,'Position');
delete(h);
hf2=figure(2);
for i=1:16
hf1=figure(1);
for j=1:N
% Plot the figure for hf1
end
saveas(hf1,'temp.fig')
figure(2);
hf2(i)=subplot(4,4,i);
hg1=hgload('temp.fig');
ax1=gca;
fig=get(ax1,'children'); % To copy the figure to subplot
copyobj(fig,hf(i));
hax=get(hg1,'Child'); % This part to resize the figure to the size of subplot
set(hax,'Parent',hf2);
set(hax,'Position',pos{i});
end
但上面的代码会引发以下错误
Error using set
Invalid property found.
Object Name: uitoolbar
Property Name: 'Position'.
我已经从stackoverflow本身获取了上述代码的一些部分,并且可能使用了一些不恰当的部分,但不确定在哪里。另外,上述任务是否有更好的方法,或者上述方式最简单,最灵活?非常感谢