MATLAB Answers

How to put the figure on on uipanel?

109 views (last 30 days)
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.

Accepted Answer

Ameer Hamza
Ameer Hamza on 9 Aug 2018
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
Ameer Hamza
Ameer Hamza on 9 Aug 2018
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.

Sign in to comment.

More Answers (0)

Sign in to answer this question.