Copy an independant figure to panel in app designer

12 views (last 30 days)
Hi guys,
i have a problem and i don't know how to solve this. I want to copy a graphics of an independant figure to a panel created in app designer.
I've tried with copyobj and it seemed to work but it won't show the dBi of an antenna's 3dpattern.
this is a part of my code:
antennaObject = design(dipole,app.FreqEditField.Value);
antennaObject.Length = app.Dipolelength;
antennaObject.Width = app.Dipolewidth;
plotFrequency = app.FreqEditField.Value;
pattern(antennaObject, plotFrequency)
ax = gca;
copyobj(ax,app.Panel)
delete(f1)
You can see it cannot save the dBi value from the left figure.
Thank you for your support.

Accepted Answer

Adam Danz
Adam Danz on 31 Oct 2020
Edited: Adam Danz on 31 Oct 2020
You have to copy all desired objects from the figure listed in the figure's "children" property.
Here's a demo that copies all objects from 'fig' (blue, regular figure) to 'uifig' (yellow, uifigure).
You probably only want some of the objects which you can select from fig.Children.
uifig = uifigure('Color',[1 1 .8])
fig = figure('color',[.8 1 1]);
ax = axes(fig);
plot(ax, magic(3))
legend(ax)
colorbar(ax)
copyobj(fig.Children, uifig)

More Answers (0)

Categories

Find more on Get Started with Antenna Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!