How can we assign more than one plot to the same place on guı?

1 次查看(过去 30 天)
I designed a guı on matlab app designer. I want to put the lines that are in right 'Figüre 1' on the plot that is in left side but I could not do it.
load sampleWheezeData.mat
ses=structWheeze(2,1).SoundData;
WS_new_array=structWheeze(2,1).Properties.WS_new;
WE_new_array=structWheeze(2,1).Properties.WE_new;
x = linspace(0, 144000 , 144000);
plot(app.UIAxes2,x,ses)
hold on
plot(x(WS_new_array*[1 1]).',(ones(size(WS_new_array,1),2).*ylim).', '-g', 'LineWidth',2);
plot(x(WE_new_array*[1 1]).', (ones(size(WE_new_array,1),2).*ylim).', '-r', 'LineWidth',2);
hold off
grid
When I press the plot button it should look like this on the app but codes that I wrote here only shows the blue parts not the lines. How can I do it? Thank you.

回答(1 个)

Cris LaPierre
Cris LaPierre 2021-1-9
编辑:Cris LaPierre 2021-1-9
You need to specify the axes to hold and to plot to.
plot(app.UIAxes2,x,ses)
hold(app.UIAxes2,'on')
plot(app.UIAxes2,x(WS_new_array*[1 1]).',(ones(size(WS_new_array,1),2).*ylim).', '-g', 'LineWidth',2);
plot(app.UIAxes2,x(WE_new_array*[1 1]).', (ones(size(WE_new_array,1),2).*ylim).', '-r', 'LineWidth',2);
hold(app.UIAxes2,'off ')
grid(app.UIAxes2,'on')
  3 个评论
Cris LaPierre
Cris LaPierre 2021-1-9
Ah, ylim is your issue. You need to specify the target axes for that function as well.
ylim(app.UIAxes2)
Basically, in an app, you always have to tell it the axes to use.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by