Phase Portrait of 2d-Systems of ODE
by R Clark Robinson

Plot one trajectory

ClearSystemCache;

varnames := {x1,x2}
odedampedpend:= {x1'[t] == x2[t], x2'[t]== -Sin[x1[t]]-0.2*x2[t]}; 
x1min := -0.55*Pi ; x1max := 1.05*Pi; x2min := -1.7; x2max := 1.2; 
Tmin :=0;  Tmax  := 30;

SolnOde := NDSolve[ {odedampedpend[[1]], odedampedpend[[2]], x1[0]== 0.75*Pi, x2[0]==0},{x1,x2},{t,Tmin,Tmax}]
ParametricPlot[Evaluate[{x1[t],x2[t]}/.SolnOde],{t,Tmin,Tmax},
PlotRange -> {{x1min,x1max},{x2min,x2max}}, PlotStyle -> Purple, 
Ticks -> {{-Pi/2,0,Pi/2,Pi},{-1,0,1}}]

Plot several trajectories

varnames := {x1,x2}
odedampedpend:= {x1'[t] == x2[t], x2'[t]== -Sin[x1[t]]-0.2*x2[t]};
odeIC := {{0.99*Pi, 0},{0.9*Pi, 0},{0.8*Pi,0},{0.7*Pi,0},{0.6*Pi,0},{0.5*Pi,0},{0.4*Pi,0}};  
x1min := -0.55*Pi ; x1max := 1.05*Pi; x2min := -1.7; x2max := 1.2; 
Tmin :=0;  Tmax  := 30;

trajectory[t_,x10_,x20_]:=
Block[{x1,x2},
Evaluate[{x1[t],x2[t]}/.NDSolve[{odedampedpend[[1]],odedampedpend[[2]],x1[0]==x10,x2[0]==x20},
{x1,x2},{t,Tmin,Tmax}]]]
phaseplot =ParametricPlot[Evaluate[
Table[trajectory[t,iCond[[1]],iCond[[2]]],{iCond,odeIC}] ] , 
{t,Tmin,Tmax},PlotRange->{{x1min,x1max},{x2min,x2max}},
Ticks->{{-Pi/2,0,Pi/2,Pi},{-1,0,1}},AxesLabel -> varnames]

With Direction Field

odevectorfield := {x2,-Sin[x1]-0.2*x2}
range1var := {x1,-0.55*Pi,1.05*Pi}
range2var := {x2,-1.7,1.2}
dirgraph=VectorPlot[Evaluate[odevectorfield,range1var,range2var],
VectorScale ->{0.07,Scaled[0.25]},AspectRatio -> 1,Axes -> True,AxesLabel->{range1var[[1]],range2var[[1]]}];
Show[phaseplot,dirgraph]