Combine Plots into one using a loop?

I want this program’s plots to be combined into one plot - just can’t seem to make it appear in one plot. Any suggestions?

n = -1; While[n < 3, 
sol = NDSolve[{D[xtraj[t], 
  t] == -(Sinh[
     2 xtraj[t] (-t)]/ 
      (Cosh[2 xtraj[t] (-t)])), xtraj[0] == n}, 
xtraj[t], {t, -4, 8}]; n = n + 0.25; 
p = ParametricPlot[{t, xtraj[t]} /. sol, {t, -4, 8}, 
PlotRange -> All, PlotStyle -> {Blue, Full, Thick}, 
AxesStyle -> Thickness[.001], LabelStyle -> {Black, Medium}]; 
Print[p]]

This?

Download the notebook for the code.

Thanks.

sol = Table[
NDSolveValue[{D[xtraj[t],
t] == -(Sinh[2 xtraj[t] (-t)]/(Cosh[2 xtraj[t] (-t)])),
xtraj[0] == n}, xtraj[t], {t, -4, 8}], {n, -1, 2.75, .25}];
Plot[sol, {t, -4, 8}, PlotRange → All, PlotStyle → Automatic,
AxesStyle → Thickness[.001], LabelStyle → {Black, Medium},
AxesOrigin → {0, -10}]

The problem with this one is that the x and y values are different the plot is flattened?

We can use the additional option AspectRatio → Automatic

Plot[sol, {t, -4, 8}, PlotRange -> All, PlotStyle -> Automatic, 
 AxesStyle -> Thickness[.001], LabelStyle -> {Black, Medium}, 
 AxesOrigin -> {0, -10}, AspectRatio -> Automatic]

That looks much better :slight_smile: thank you!

How about reversing the plot?

I have another question - how can I restrict the domain such that:

-0.1> xtraj[t]> 0.1

Any help would be much appreciated.

Is there anything like this?

sol1 = Table[
  NDSolveValue[{D[xtraj[t], 
      t] == -(Sinh[2 xtraj[t] (-t)]/(Cosh[2 xtraj[t] (-t)])), 
    xtraj[0] == n}, xtraj[t], {t, -4, 8}], {n, -.1, .1, .02}]; p1 = 
 Plot[sol1, {t, -4, 8}, PlotRange -> {{-1, 1}, {-.15, .15}}, 
  PlotStyle -> Automatic, AxesStyle -> Thickness[.001], 
  LabelStyle -> {Black, Medium}, 
  PlotLegends -> Table[n, {n, -.1, .1, .02}]]

Interesting code but it’s not quite what I wanted - thanks.

Are you asking about excluding a range of y values when plotted or when integrated? Your question is not clear.

To restrict your plot you can use RegionFunction:

Plot[sol, {t, -4, 8}, PlotRange -> All, PlotStyle -> Automatic, 
 AxesStyle -> Thickness[.001], LabelStyle -> {Black, Medium}, 
 AxesOrigin -> {0, -10}, AspectRatio -> Automatic, 
 RegionFunction -> Function[{x, y}, (y > -2) && (y < 2)]]

to get