我正在Matlab编辑器中编写一些代码,其中有大约30个图形。因此,当我发布它时,会打开30个图形窗口,这很烦人。我该如何防止它打开这些窗口,但保留在发布的窗口中的图形?
我已经尝试使用
提前感谢。
我已经尝试使用
close(figure)
,但是图形不会显示在发布的窗口中。提前感谢。
close all
。我不确定是否可以将其作为脚本的一部分,或者是否需要在发布后手动运行它。至少plot
命令有一个选项可以控制图形的可见性。因此,您可以编写类似以下内容的代码:
h = plot(... , 'Visible', 'off');
我希望这些也适用于其他图形对象,我知道与anova
相关的图形对象也是如此。
编辑:上述代码隐藏了绘图,但没有隐藏图形本身。要在创建后立即隐藏图形,请执行以下操作:
set(gcf, 'Visible', 'off')
close all
fig5 = scatter(x, y);
close(fig5)
为了概述解决方案,
第一步是使用处理程序绘图。使用figa=figure;其中figa现在是图形的处理程序。如果您使用多个图形,例如30个,那么figa=figure;figb=figure.......figad=figure; 第二步:使用图形绘制任何您想要绘制的内容; 必须通过撤销图形来完成,例如 figure(figa);hold on;plot(x1,y1) figure(figb);hold on;plot(x2,y2)....以此类推,共30个绘图 第三步是保存所有图形 saveas(figa,'1.fig');saveas(figb,'2.fig');.......以此类推,共30个绘图; 第四步是关闭监视器上的图形 close all; 第五步是重新打开这些图形 openfig('1.fig');openfig('2.fig');.............以此类推,共30个图形
一个建议:使用Excel创建这个长列表的图形名称,并更好地使用单独的.m文件来避免使您的Matlab主代码变得臃肿。