GUI中的动画情节

10次浏览(最近30天)
亚当·霍法
亚当·霍法 2020年4月29日
编辑: 亚当Danz 2020年5月4日
大家好。
我正在制作一个有4个不同动画情节的图形用户界面。我为4个情节设置了4个函数,并制作了如下动画:
animatedline命令. .
i = 1: . .
轴(handles.axes1)
values1 (i) =潜艇function1 ()...
drawnow
轴(handles.axes2)
values2 (i) =潜艇(function2)...
drawnnow
轴(handles.axes3)
values3 (i) =潜艇(function3)...
drawnow
轴(handles.axes4)
values4 (i) =潜艇(function4)...
drawnow
结束
但是Matlab有一个警告,轴(…)应该在“for”迭代之外。我该怎么补救呢?
1评论
杰夫•海斯
杰夫•海斯 2020年4月29日
亚当-完整的警告信息是什么?请复制并粘贴所有的文本到这个问题。它是否适用于所有调用 也许还不止一个?

登录评论。

答案(1)

亚当Danz
亚当Danz 2020年4月29日
编辑:亚当Danz 2020年5月4日
下面是调用时出现的警告消息的示例 轴() 在一个循环。
你使用的 轴() 命令使选定的坐标轴为当前坐标轴,以便绘图功能在选定的坐标轴上绘图。有更好的方法。
最好的方法
不要担心哪个轴是当前的,并在所有的绘图函数中使用轴句柄,以便将它们应用到正确的轴上。例子:
持有(handles.axes1“上”)
情节(处理。axes1, x, y,“o”)
替代的方法
设置当前图形,然后在当前图形中设置当前轴。在绘图之前做这个。
% FIG是你身材的手柄
% ax是图中坐标轴的手柄
集(0,“CurrentFigure”,图)
集(图,“CurrentAxes”ax)
如果绘图代码很长,并且用户在设置当前坐标轴后并在绘图完成之前单击不同的图形或坐标轴,则新图形对象将被分配到错误的坐标轴上。这就是为什么第一种方法要好得多,而且不会出错。同样的问题也出现在您的问题中的axes()解决方案中。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!