问题描述
我是新手,正在尝试在MATLAB App Designer中使用polarplot
和hold 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