我正在尝试编写一个相对简单的函数,它允许我绘制任意数量的图形(以前保存为.fig文件),一个接近另一个 .
我在网站上寻找解决方案,但它对我不起作用 . 此外,我几乎有我的代码,因为输出几乎是我想要的:我确实把两个数字放在正确的位置,但在两个单独的窗口和第三个窗口正确合并两个输入,但它们看起来很奇怪,分辨率较低!所以总共得到三个输出 .
这是我的代码,希望你能帮助我 . (尝试使用自己的.fig文件,检查是否还有像我这样的三个错误输出) .
function SubPlotFig (varargin)
for i = 1:nargin
hf = hgload(varargin{i});
ax(i) = findobj(hf,'Type','axes');
end
hc = figure;
for i = 1:nargin
subplot(1,2,i,ax(i));
copyobj(ax(i),hc);
end
2 回答
当您调用
hgload
时,它将打开.fig文件中的图形并显示它 . 您在第一个循环内执行此操作,因此您将看到每个输入的数字 . 您看到的数字正是您为每个数字保存的数字 .在第二个循环中,为刚打开的图形中的每个
axes
创建一个subplot
. 这些当然会变得更小,因为你现在将多个axes
放在figure
中,这是默认大小 . 他们不想增加你的身材 .问题是色彩图 . 现在它解决了 . 这是正确的代码,对其他人有用:)