Source
%% PhS
%% 

%% échelle et étendue de l'image
50 setxunit
-3.5 3.5  setxrange
-3.5 3.5  setyrange
/xgauche -6 def    %% c'est la limite gauche de l'image
/xdroite 6 def     %% c'est la limite droite de l'image
/ybasse  -4 def    %% c'est la limite basse de l'image
/yhaute  4 def     %% c'est la limite haute de l'image

10 4 point 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%  DANGER !! Il ne faut pas utiliser de variables
%%  DANGER !! qui commence par les lettres :
%%  DANGER !! xmin, xmax, ymin et ymax...
%%  DANGER !! Utiliser x_min, y_min...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%% plages initiales pour les paramètres (peuvent être modifiées pour chaque fonctions tracées
/x_min -5 def
/x_max 5 def
/t_min -9 def
/t_max 9 def


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% procédures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%% on donne ici x(t)
/xdet {
1 dict begin
	/t exch def
	t
end
	} def

%% on donne ici y(t)
/ydet {
1 dict begin
	/t exch def
	t dup dup mul mul 0.6 mul
end
	} def



%% dessine un bout de droite
/bddroite { %% Ax Ay Bx By kg (=proportion vers A) kd (=prop vers B) 
8 dict begin
	/kd exch def
	/kg exch def
	/By exch def
	/Bx exch def
	/B {Bx By} def
	/Ay exch def
	/Ax exch def
	/A {Ax Ay} def
	gsave
	[A A B vecteur kg mulv addv A A B vecteur kd mulv addv] ligne
	grestore
end
	} def


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% définitions des couleurs
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/coul1 {120 255 div 70 255 div 9 255 div setrgbcolor} def



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% tracés
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% tracé des axes et du point Origine
1 setlinewidth
15 setfontsize
noir
continu
traceaxes
marks
tracerepere


2 setlinewidth
coul1
dotted
[-5 -5 5 5] (-) ligne



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% texte
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
setTimesItalic


coul1
<latex>
$x\cdot\chi_{\mathbb{Q}}(x)$
</latex>
-1.5 0.7 [3 dup] cctexlabel