5

我在 Matlab 编辑器中编写了一些代码,它有大约 30 个数字。所以,当我发布它时,它会打开 30 个数字的窗口,这很烦人。如何防止它打开窗口,但将数字保留在已发布的窗口中?

我试过了close(figure),但是这些数字没有显示在发布的窗口上。

提前致谢

4

6 回答 6

17

最简单的事情是close all当你完成了这些数字。我不确定这是否可以成为脚本的一部分,或者您是否必须在发布后手动运行它。

于 2013-02-23T15:09:22.810 回答
4

至少该plot命令具有控制图形可见性的选项。所以你会写类似

h = plot(... , 'Visible', 'off');

我希望这些也适用于其他图形对象,我知道它适用于与anova.

编辑:上面隐藏了情节,但没有隐藏图形本身。要在创建后立即隐藏图形,请执行

set(gcf, 'Visible', 'off')
于 2013-02-24T01:02:10.827 回答
2

matlab 中的close函数可以满足您的需求。阅读文档以获取更多详细信息

要同时关闭所有地块,您可以使用

close all

要关闭名为“fig5”的特定图形(例如),您可以使用

fig5 = scatter(x, y);
close(fig5)

如果您只使用“关闭”,则只有最近的数字会关闭。

于 2015-12-08T07:16:22.307 回答
0

概述解决方案,

第一步是使用处理程序进行绘图。使用fig=图;其中 figa 现在是 figure 的处理程序。如果你使用多个,比如你说的 30,数字,那么 figa=figure;figb=figure.......figad=figure; 第二步; 将这些数字用于您想要绘制的任何内容;必须通过撤销图形来完成,例如图形(figa);保持;情节(x1,y1)图形(figb);保持;情节(x2,y2)....等30个情节第三set 是保存所有数字 saveas(figa,'1.fig');saveas(figb,'2.fig');....... 以此类推 30 个图;第四步是从你的监视器关闭所有地块;第五步是重新打开这些数字 openfig('1.fig');openfig('2.fig');...... 30 个无花果

一个建议:使用 excel 创建这个长长的图形名称列表,并更好地使用单独的 .m 文件,以避免增加您的 matlab 主代码。

于 2015-02-14T13:47:36.360 回答
0

Perhaps you want hold on which will plot all of the graphs to the same window?

于 2013-02-24T00:55:30.983 回答
0

您可以使用 subplot(m,n,p) 在同一图形窗口上绘制多个图形。

于 2015-01-14T07:45:48.317 回答