MATLAB: How to put the figure on on uipanel

figure on uipanel

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' )

Best 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)