Source
%% auteur : Peric
-5 7 setxrange
-9 6 setyrange
50 setxunit
25 setyunit
2 setymkstep

/xmarkstyle {[1.3 dup] drtext} def
/ymarkstyle {[1.3 dup] ultext} def
/quadrillagewidth[.5 .4 .1] def
pointilles
gris
[0.5 1]{0.7 setlinewidth} Quadrillage
noir
continu
1.4 setlinewidth
%0.5 0.5 setsubtkstep
traceaxes
ticks
marks
%tracerepere
axesarrow

/A{-4 -7} def
/B{-3 -2} def
/C{-2 1} def
/D{-1.5 2} def
/E{0 3} def
/F{2 2} def
/G{4 1} def
/H{5.5 2} def
/I{6 3} def
/J{7 0} def
/K{8 -3} def

(A) A [1.5 dup] ultext
(B) I [1.5 dup] urtext
%(1) 1 0 [1.5 dup] dltext
%(5) 5 0 [1.5 dup] dltext
%(1) 0 1 [1.5 dup] cltext
%(5) 0 5 [1.5 dup] cltext

2.5 setlinewidth
[A .. B .. C .. D .. E{right} .. F .. G{right} .. H .. I] (*-*) draw
[A B C E F G I] {point2} papply

1.5 setlinewidth
{0 mul -2 add} courbe
{setxvar 3} courbe
{setxvar 4} courbe
[A I] ligne

1.5 setlinewidth
pointilles
[-4 0 -4 -7] ligne
[0 -7 -4 -7] ligne
[2 0 2 2] ligne
[0 2 2 2] ligne
[6 0 6 3] ligne
[0 3 6 3] ligne
[-3 -2 0 -2] ligne
[-3 0 -3 -2] ligne
[-2 1 4 1] ligne
[-2 0 -2 1] ligne
[4 0 4 1] ligne