modules utilisés: pstricks, pst-plot, pst-add, multido

Produire une courbe avec LaTeX

Avec PSTricks, on peut produire un très grand nombre de types de graphiques. Pour obtenir la courbe ci-contre il suffit de quelques lignes de commandes que nous allons détailler.

le préambule et la compilation

Il y a trois modules à charger. Il semble que pstricks-add doit être chargé en dernier, (voir ce fil de discussion )

\usepackage{pstricks,pst-plot,pstricks-add}

Il est inutile de charger le module xcolor. PSTricks fait appel au langage postscript, il faut donc produire un fichier .ps. Si on veut un fichier .pdf, il ne faut pas compiler avec pdflatex mais convertir le fichier .ps avec ps2pdf

Pour utiliser des couleurs personnelles, je les définis dans le préambule


le cadre

Comme on a chargé pstricks-add, on peut définir les fonctions en notation algébrique algebraic=true, plutôt qu'en en notation polonaise inversée. Sinon au lieu de saisir (20*x+10)*2.718^(-0.5*x), on aurait dû écrire 20 x mul 10 add 2.718 0.5 x mul neg exp mul.

On va travailler à l'intérieur d'un rectangle dont le sommet inférieur gauche aura pour coordonnées (-1,-1) et le sommet supérieur droit (11,20).



Comme l'unité horizontale est de 0,7cm la base mesure 0.7×12=8.4cm et la hauteur0.2×21=4.2cm

le code

À l'intérieur de l'environnement pspicture :

On commence par le plus difficile : la zone coloriée. À l'intérieur des accolades de \pscustom, on met une commande pour dessiner la fonction sur l'intervalle [0;3] puis une autre pour tracer un segment entre (3,0) et (0,0). Cet ordre est important (On doit faire le tour de la zone ).

Puis viennent les axes : l'axe horizontal a un pas de 1, pour les x entre 0 et 11; l'axe vertical a un pas de 2, pour les y entre 0 et 20. Les axes se terminent par une flèche. Le premier(0,0) est là pour indiquer l'origine des axes, le deuxième donne (x min ; y min) et (11;20) donne (x max ; y max)


Le reste est assez clair; \uput[140](4.8,0){\textcolor{red}{$\alpha$}} vise le point (4.8,0) et place du texte légèrement à côté du point, à un angle polaire de 140°

dotstyle=o dessine un point creux.

dotstyle=* dessine un point normal.

dotstyle=+ dessine un +

dotstyle=x dessine un x

dotstyle=triangle dessine un triangle

dotstyle=diamond dessine un losange

dotstyle=pentagon dessine un … bravo !!


à vous

Vous pouvez télécharger le source et explorer explorer le site dédié à PSTricks. Il y a une énorme quantité d'exemples.

un zoom

Un zoom pour vérifier que ça n'est pas du vulgaire bitmap

une famille de courbes

Quand on charge PSTricks, on charge automatiquement le module multido

Pour obtenir le graphique ci-contre on a utilisé la commande \multido

\multido{\n=0+0.2}{6}{commande} exécute la commande pour n=0, puis pour n=0,2 et il s'arrête à la sixième étape donc pour n=1

On a dessiné simultanément 6 coubes de fn définies sur sur ]0;1] par x → x (ln(x))2 +n x et on a placé 6 étiquettes.


\psset{algebraic=true,xunit=8cm,yunit=8cm,plotpoints=60}
\begin{pspicture}(0,0)(1,1)
\psaxes(0,0)(0,0)(1,1)
\multido{\n=0+0.2}{6}{\psplot[linecolor=gray]{0.00001}{1}{x*(ln(x)^2+\n*x)}}
\multido{\n=0+0.2}{6}{\rput[0](1.1,\n){\color{red}{k=\n}}}
\end{pspicture}

une famille de courbes de couleurs différentes

On a amélioré le code.

Pour n=0 couleur a pour code rgb(0, 0.5,0.5) soit bleu vert

Pour n=0.2 couleur a pour code rgb(0.2, 0.5,0.5)

Pour n=1 couleur a pour code rgb(1, 0.5,0.5)

.

Attention on n'aurait pas pu dessiner une septième courbe car le premier terme du code rgb aurait dépassé 1.

\multido{\n=0+0.2}{6}{\definecolor{couleur}{rgb}{\n,0.5,0.5}\psplot[linecolor=couleur]{0.00001}{1}{x*(ln(x)^2+\n*x)}}

fait en août 2007