MATLAB App Designer保持打开/关闭抛出警告

问题描述

我是新手,正在尝试在MATLAB App Designer中使用polarplothold on/off。现在要在应用程序设计器中使用它,我们需要通过在应用程序设计器面板容器中调用polaraxes函数来创建极轴。

我尝试了此方法,但没有任何错误

pax = polaraxes(app.Panel);
polarplot(pax,th1,r1,'red')
hold(app.UIfigure.CurrentAxes,'on');          % warning
polarplot(pax,th2,r2,'green')
hold(app.UIfigure.CurrentAxes,'off');         % warning

但是由于应用程序编码警报,我收到了针对保留行的警告“将UIAxes手柄指定为第一个参数”。如何解决此警告?这是将hold on/off用于面板容器的正确方法吗?

解决方法

我没有太多使用appdesigner,但是我怀疑它是因为CurrentAxes变量为空,您会收到警告,因此您可以尝试指定要保留的轴:

pax = polaraxes(app.Panel);
polarplot(pax,th,r1,'red')
hold(pax,'on');          
polarplot(pax,r2,'green')
hold(pax,'off');  

或者这可能有效(未经测试,不建议这样做,建议始终传递要握住的实际轴手柄,而不是Matlab认为是活动的手柄)

pax = polaraxes(app.Panel);
polarplot(pax,'red')
drawnow()
hold(app.UIFigure.CurrentAxes,'on');          % warning
polarplot(pax,'green')
hold(app.UIFigure.CurrentAxes,'off');         % warning