MATLAB Answers

Multiple Plots App Designer

12 views (last 30 days)
Frédéric LE QUILLIO
Frédéric LE QUILLIO on 15 Feb 2021
Answered: Nikhil Sonavane on 23 Mar 2021
I am trying to plot graphs of various iterations into the same graph with App Designer. Temps_ON, Temps_OFF,... are columns of a table.
The problem encountered is that it only plots the last value (for i=3 in this case). Any advice on how to manage this ?
while i<4
x=t.Temps_ON(i);
y=zeros(1,x);
y(1) =t.Puissance_ON(i);
x1= t.Temps_OFF(i);
y1=zeros(1,x1);
y1(1) = t.Puissance_OFF(i);
x2=t.Temps_reveil(i);
y2=zeros(1,x2);
y2(1) =t.Puissance_reveil(i);
% Plot modified data
for time=1:x-1
y(time+1)=y(time);
end
for time=1:x1-1
y1(time+1)=y1(time);
end
for time=1:x2-1
y2(time+1)=y2(time);
end
plot(app.UIAxes,(1:x),y,'b',(1+x:x1+x),y1,'b',(x+x1+1:x+x1+x2),y2,'b');
i=i+1;
end
  5 Comments
Frédéric LE QUILLIO
Frédéric LE QUILLIO on 15 Feb 2021
I don't have any errors. These values work correctly since I can see the good graph for the 3rd value in this case. The problem is the loop I don't understand why the previous graph are not plotted too

Sign in to comment.

Answers (1)

Nikhil Sonavane
Nikhil Sonavane on 23 Mar 2021
In my understanding, hold on retains plots in the current axes so that new plots added to the axes do not delete existing plots. It doesn't update the graph when an entry is changed in the table unless you run the code again. You can refer to the documentation of hold for more details about the function.

Community Treasure Hunt

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

Start Hunting!