# App Designer Plot Multiple Graph

16 views (last 30 days)
Lee Xing Wei on 27 Apr 2021
Commented: Subhadeep Koley on 28 Apr 2021
I am new in App Designer, I want to plot multiple graph continue the time, like first time I push the button I get a graph from 0 to t1, then I push the button agian, the graph continue plot from t1 to t2.
The system does not regonize the undeclare t1 as 0, but if I declare t1 = 0, every time I push the button, the graph is overlapping.
if(app.Button_2.Value)
f = 10;
elseif(app.Button2.Value)
f = 15;
elseif(app.Button3.Value)
f = 20;
end
if(app.Button_3.Value)
t = 1;
elseif(app.Button_4.Value)
t = 1/2;
elseif(app.Button_5.Value)
t = 1/4;
end
x = t1:0.0001:t1+t;
y = sin(2*pi*f*x);
t1 = t1+t;
hold(app.UIAxes);
plot(app.UIAxes,y);
hold(app.UIAxes);
end

Subhadeep Koley on 28 Apr 2021
The attached minimum working example App might help you! Have a look.
Lee Xing Wei on 28 Apr 2021
It works! Thanks! How do you create this section? Is it startupFcn?
properties (Access = public)
t1 = 0;
dt = 1;
f1 = 10;
df = 5;
end
Subhadeep Koley on 28 Apr 2021
@Lee Xing Wei This is called Public Property. See this link to know more.

Clayton Gotberg on 27 Apr 2021
I believe the reason it is overlapping each time is that your plot function only refers to y on each loop. When you only provide the axis argument and one other, it assumes you want them plotted from 1:size(input), so repeated calls would all start at the beginning. Try:
plot(app.UIAxes,x,y);
plot(app.UIAxes,y);
Lee Xing Wei on 28 Apr 2021
Your answer solve my other problem lol thx! But in this problem is the t1, how do I set the t1 as 0 before I push the button first time, and after I push the button the t1 become 1, second time become 2, so I can get a graph that connected by different time.
Clayton Gotberg on 28 Apr 2021
For that one, you will need to use a startupFcn in your app. See the tutorial here about giving initial parameters and variables to your app.