将Matlab图形保留在背景中

将Matlab图形保留在背景中,matlab,matlab-figure,Matlab,Matlab Figure,我使用一个优化算法来寻找某个函数的最佳形状。我让程序在每次迭代时显示当前的图形,以查看所有内容的进展情况。问题是,当程序运行时,我不能做任何事情(程序需要5-10分钟才能完成),因为图形一直在顶部弹出,如果我正在编写一些东西,例如,matlab图形上的窗口焦点会改变 当图形发生变化时,是否有可能使matlab图形保持在顶部?例如,我使用双监视器设置,并将图形移动到第二个监视器。在不改变当前工作窗口焦点的情况下,图形是否可以改变?使用OuterPosition是否可以做到这一点? 下面是一个示例,

我使用一个优化算法来寻找某个函数的最佳形状。我让程序在每次迭代时显示当前的图形,以查看所有内容的进展情况。问题是,当程序运行时,我不能做任何事情(程序需要5-10分钟才能完成),因为图形一直在顶部弹出,如果我正在编写一些东西,例如,matlab图形上的窗口焦点会改变


当图形发生变化时,是否有可能使matlab图形保持在顶部?例如,我使用双监视器设置,并将图形移动到第二个监视器。在不改变当前工作窗口焦点的情况下,图形是否可以改变?

使用
OuterPosition
是否可以做到这一点? 下面是一个示例,该示例应将图形保持在屏幕的右上角三分之一:

scnsize = get(0,'ScreenSize'); % get screen size
fig1 = figure;
position = get(fig1,'Position')
outerpos = get(fig1,'OuterPosition')
borders = outerpos - position
edge = -borders(1)/2;
pos1 = [scnsize(3)/2 + edge,...
    scnsize(4) * (2/3),...
    scnsize(3)/2 - edge,...
    scnsize(4)/3];
通过更改图形的
外部位置
属性重新定位图形:

 set(fig1,'OuterPosition',pos1) 

在进行某些处理时,还可以禁用整个体形窗口。…

使用
OuterPosition
是否可以做到这一点? 下面是一个示例,该示例应将图形保持在屏幕的右上角三分之一:

scnsize = get(0,'ScreenSize'); % get screen size
fig1 = figure;
position = get(fig1,'Position')
outerpos = get(fig1,'OuterPosition')
borders = outerpos - position
edge = -borders(1)/2;
pos1 = [scnsize(3)/2 + edge,...
    scnsize(4) * (2/3),...
    scnsize(3)/2 - edge,...
    scnsize(4)/3];
通过更改图形的
外部位置
属性重新定位图形:

 set(fig1,'OuterPosition',pos1) 

在进行某些处理时,还可以禁用整个图形窗口……

除了是一个类似的问题外,第一条评论中的链接还有一个答案,描述了问题的良好解决方案。看看那里@皮尔斯:谢谢。我自己也发现了一些类似的问题,但我最初没有使用正确的术语进行搜索。除了是一个类似的问题外,第一条评论中的链接还有一个答案,描述了您的问题的良好解决方案。看看那里@皮尔斯:谢谢。我自己也发现了类似的东西,但我最初没有使用正确的术语进行搜索。谢谢你的回答。我想你们谈论的是图形窗口的位置,但我更感兴趣的是焦点窃取的事情。谢谢你们的回答。我想你们谈论的是图形窗口的位置,但我更感兴趣的是焦点窃取。