Error using subplot with App Designer

4 views (last 30 days)
Hi everyone,
I'm continuously facing the error "Error using handle. Cannot convert to handle." when trying to plot different data into subplot in App Designer.
At the moment I coded the following code (those data works regularly if I plot them not in App Designer).
"bdays" and all other "dataN" variables are 398x1 double as format.
load('MyData.mat','-mat');
app.UI_Axes.AutoResizeChildren = 'off';
ax1 = subplot(10,1,[1 7],'Parent',app.UI_Axes);
plot(ax1,bdays,data1,'b');
hold(ax1,'on');
plot(ax1,bdays,data2,'r');
plot(ax1,bdays,data3,'c');
if (ShowOne)
plot(ax1,data4,'k');
end
ax2 = subplot(10,1,[8 10],'Parent',app.UI_Axes);
plot(ax2,bdays,data5,'b');
hold(app.UI_Axes,'on');
plot(ax2,bdays,data6,'r');
if (ShowOne)
plot(ax2,bdays,data7,'k');
end

Accepted Answer

Adam Danz
Adam Danz on 27 Feb 2020
Edited: Adam Danz on 27 Feb 2020
The parent of a subplot (ie, axes) should be a figure (or Panel objects, Tab object, or TiledChartLayout object). You're using another axis handles as the parent.
f = uifigure();
f.AutoResizeChildren = 'off';
subplot(2,2,1,'Parent',f)
Note: in appdesigner, the f variable will be the handle to the app figure.
I'm wondering why you need to add subplots to the app from within the code. Wouldn't it be more efficient to produce all of the axes from within the AppDesigner user interface and then control their visiblity?

More Answers (0)

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!