figure;
ax1 = axes;
figure;
ax2 = axes;
x = 0; y = 0;
while ishandle(ax1) && ishandle(ax2)
x = x + 1;
y = y + 1;
figure(1)
scatter(x,y, 'MarkerEdgeColor', 'red')
hold on
figure(2)
scatter(x,y, 'MarkerEdgeColor', 'blue')
hold on
end
在我的脚本中,我有多个图形,这些图形将在循环中更新。在脚本运行时必须显示这些图形。不幸的是,当前更新的图形总是弹出到前景,这使得监视某个图形变得不可能。我知道调用figure(1)
和figure(2)
会导致这种行为,但我该如何绘制这些图形,而不将窗口带到前台?
scatter(ax1, x,y, 'MarkerEdgeColor', 'red')
指定应该使用的轴,而不需要调用figure
。请注意,不要改变原始含义,并使翻译更加通俗易懂。 - mikkolaset(0,'CurrentFigure',<handle of figure>)
,但是你的想法可能更好。 - wheelerxdata
和ydata
属性。在循环内部,先定义h=plot(0,0,...)
,然后执行h.xdata = [h.xdata,x]
以及类似的操作来更新y值。这是最快的方法,如果你需要绘制许多点,则会使用更少的内存。 - Cris Luengo