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

1 visualización (últimos 30 días)
Serhat Sayim
Serhat Sayim el 9 de En. de 2021
Comentada: Serhat Sayim el 9 de En. de 2021
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.

Respuestas (1)

Cris LaPierre
Cris LaPierre el 9 de En. de 2021
Editada: Cris LaPierre el 9 de En. de 2021
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 comentarios
Cris LaPierre
Cris LaPierre el 9 de En. de 2021
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.
Serhat Sayim
Serhat Sayim el 9 de En. de 2021
I got it. Thank you for your answers. Have a nice weekend.

Iniciar sesión para comentar.

Categorías

Más información sobre Develop Apps Using App Designer en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by