How to make the axis adjust to new plots

3 views (last 30 days)
Anon
Anon on 20 Dec 2020
Answered: Cris LaPierre on 24 Dec 2020
In the app designer i have included a plot for projectile motion, however i cant seem to make the axis values adjust when plotting a second graph on top of it- it remains at the limits of the first plot i.e. i cant see the second plot provided the x and y values are greater than the first plot
any help would be greatly appreciated! im pulling my hair out over this!
comet(app.Graph,x,y,0.1)
hold(app.Graph,'on')
  4 Comments
Anon
Anon on 20 Dec 2020
t = linspace(0,tFinal,100) %creates an array of time with 100 elements
x = v0x.*t %calculates the range (x)
y = y0 + v0y.*t+0.5*g*t.^2 %calculates the height (y)
y(y < 0) = 0; %the y-axis cannot go below 0!
comet(app.Graph,x,y,0.1) %plots the projectile as a comet animation
hold(app.Graph,'on')
plot(app.Graph,x(y==max(y)),y(y==max(y)),'ro')
text(app.Graph,x(y==max(y)),y(y==max(y)),'\leftarrow MAX HEIGHT')
sorry about that - first time posting a question!

Sign in to comment.

Answers (2)

Cris LaPierre
Cris LaPierre on 24 Dec 2020
I would add the following to the bottom of your plotting code.
hold(app.Graph,'off') % best practice to always pair hold on with a hold off
axis(app.Graph,'auto')

Rishabh Mishra
Rishabh Mishra on 24 Dec 2020
Hi,
Based on my understanding of the issue, I can assume that you are using ‘app.graph’ as axes handle object to create plots over it.
In this case, since the x & y limits of the axes object is not appropriate, you are unable to view the 2nd plot.
To resolve the issue, readjust the x & y limits of the axes handle object ‘app.graph’. The code is given below:
app.graph.XLim = [-20 20]; % example range of values
app.graph.YLim = [-20 20]; % example range
The range of values above should be such that it includes both the plots.
Hope this helps.

Community Treasure Hunt

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

Start Hunting!

Translated by