我有以下问题:在我的matlab代码中,我使用像
这样的语句figure(1)
更改某些数据的目标数字。问题是,在这个matlab之后,系统会将焦点放在窗口上。
当我在后台运行一个大脚本并尝试在我的计算机上执行smt时--Matlab总是把注意力集中在自己身上而且我不能正常做smt。
是否有禁止Matlab执行此操作的扫管笏?我在Linux Ubuntu工作。
提前致谢。
答案 0 :(得分:6)
答案 1 :(得分:2)
您可以通过在创建时使图形不可见(可见关闭)来实现此目的,并且只在您想要显示它时才使其可见。
例如:
f = figure('Visible', 'off'); %create an invisible figure
plot(rand(1,15)); %plot some stuff to it.
saveas(f, 'test.png', 'png'); %write out the image as a png
close(f); %destroy the figure
或者: set(f,'Visible','on'); %显示以前不可见的数字
注意,如果将图形保存为Matlab .fig
文件,它还会保存它不可见的事实,这可能有点令人困惑。
答案 2 :(得分:0)
这是未经测试的,但根据智能人物的链接,看起来你需要做的就是让你的身材不是偷的焦点是这样的:
set(0, 'CurrentFigure', h);
顺便说一下,如果你不知道,0就是“root”
答案 3 :(得分:-1)
在R2018a中,引入了图形属性“ WindowState”,请参见https://blogs.mathworks.com/pick/2018/07/13/maximize-your-figures/
使用此功能,您可以
set(0, 'DefaultFigureWindowState', 'minimized');
在运行实际脚本之前,这将导致所有“标准图解”都不会失去焦点,而是以最小化状态打开。
有些功能仍然会引起关注。我没有详细研究,但我相信它主要是自动绘图功能,例如psd,hist等,没有输出参数。如果您自己打plot
,就可以了。