MATLAB Answers

0

How to put the figure on on uipanel?

Asked by Muhammad Farooq Zia on 9 Aug 2018
Latest activity Commented on by Ameer Hamza
on 9 Aug 2018
I am trying to display a figure that opens in a separate window on a uipanel. The attached picture describes what I want. I am also attaching the part of code that generates the figure. Please help me out with this.
figure
title('Fw and dFw/dSw')
xlabel('Sw') %%
yyaxis left
plot (x,y3,tangx,tangy)
ylabel('Fw')
ylim([min(y3) max(y3)])%%
yyaxis right
plot (x,y4)
ylabel('dFw/dSw')
ylim([min(y4) max(y4)])%%
grid on
grid minor
legend('Fw','Tangent','dFw/dSw')
legend('Location','NorthWest' )

  0 Comments

Sign in to comment.

1 Answer

Answer by Ameer Hamza
on 9 Aug 2018
 Accepted Answer

You can't directly plot on the uipanel object. You first need to overlay an axes object in the panel and then plot on the axes object. For example, try
h = figure;
p = uipanel('Title','Panel', 'Position',[.1 .1 .8 .8]);
ax = axes(p);
plot(ax, 1:20, 1:20)

  4 Comments

Show 1 older comment
yyaxis() works in app designer and it is supported after R2016b. Are you using an older version? Also, you need to write it like this
yyaxis(app.UIAxes, 'right');
simply writing yyaxis like MATLAB script does not work here.
You are welcome.

Sign in to comment.