【发布时间】:2013-12-17 21:23:29
【问题描述】:
我正在尝试创建一个由主 GUI 组成的程序,该程序可以调用多个单独的 GUI 来显示“实时”不断更新的不同数据。但是,似乎只能同时更新单个 GUI 中的绘图。可以同时更新同一 GUI 中的多个轴。但是,如果打开两个 GUI,则一次只能更新单个 GUI 中的坐标轴,而另一个 GUI 中的坐标轴会“保持”直到另一个 GUI 停止尝试连续绘图。
作为对这个问题的一个简单测试,我创建了一个 GUI,其中包含一个标记为“plotAxes”的轴和一个切换按钮。当切换按钮被“按下”时,使用代码在轴上连续绘制随机数据:
xData = linspace(1,20,20);
while(get(hObject,'Value'))
yData = rand(20,1);
plot(handles.plotAxes,xData,yData);
drawnow;
end
将“gui_Singleton”参数设置为 0,我打开了这个 GUI 的两个实例。如果我切换 GUI A 开始绘图,则轴中会显示连续的随机数据。如果我随后将 GUI B 切换为绘图,则 GUI A 中的显示将保持在最后一帧,并且 GUI B 开始显示连续随机数据。当我取消切换 GUI B 绘图按钮时,GUI A 恢复连续绘图。
有什么方法可以让不同 GUI 窗口中的坐标轴同时更新?我尝试使用“批处理”命令在单独的工作人员上运行 GUI,但是当通过“批处理”启动时 GUI 不显示(我怀疑“批处理”不适用于任何与图形相关的内容)。
【问题讨论】:
标签: matlab user-interface plot