code for diagram

> f:=unapply(piecewise(x<Pi,sin(x),x<= 2*Pi, 2*sin(x),
x<3*Pi, sin(2*x)),x):

> p1:=plot(f(x),x=Pi/2..9,thickness=2,color=blue):

> PTS:=[2.5,Pi/1.,3*Pi/2.,5.5,2.*Pi,7.07,7.5,7.86,8.62]:

> pts:=plot({seq([z,f(z)],z=PTS)},style=POINT,symbol=CIRCLE,
color=black):

> labls:=[`A`,`B`,`C`,`D`,`E`,`F`,`G`,`H`,`I`,`J`,`K`,`L`]:

> ptlbls:=seq([PTS[i]+.15,f(PTS[i])+.25,labls[i]],
i=1..nops(PTS)):

> LBLS:=plots[textplot]({ptlbls},font=[TIMES,BOLD,12]):

> plots[display]({p1,LBLS,pts},scaling=constrained,
view=[1.5..9,-3..3],xtickmarks=[],ytickmarks=[-2,-1,0,1,2],
axesfont=[TIMES,BOLD,12]);

>