Exemple 2 :
Tracer plusieurs courbes sur
le même graphe
/**************************************************************
polycourbe.c
Trace de plusieurs courbes avec pgplot
exemple des courbes cos(m x/a)
**************************************************************/
#include <stdio.h>
#include <math.h>
#include "/usr/include/cpgplot.h"
main()
{
int i,dim=128;
float y1[dim],y2[dim],y3[dim],x[dim];
float a=10;
float ymin=-1, ymax=1; /* maximum et
minimum des valeurs en y */
/* Remplissage des tableaux de valeur
----------------------------------
*/
for (i=0; i<dim; i++)
{
x[i]=i;
y1[i]=cos(i/a);
y2[i]=cos(2*i/a);
y3[i]=cos(0.5*i/a);
}
/* Affichage
--------- */
cpgopen("?");
/* init. pgplot */
cpgsch(1.5);
/* taille des carateres 1.5 */
cpgenv(0,x[dim-1],ymin,ymax,0,0);
/* intervalles en x et en y */
cpgscf(2);
/* police de caracteres 2 */
cpglab("x","y=f\\dn\\u(x)=cos(n x/10)","Plusieurs
fonctions sur un graphe");
cpgscf(1);
/* police de caracteres 1 */
cpgsch(1.2);
cpgsls(1);
/* line style 1 (continu) */
cpgsci(1);
/* color index 1 (blanc) */
cpgline(dim,x,y1);
/* trace la courbe 1*/
cpgptxt(75,0.5,-75,0,"n=1");
/* ecrit une legende */
cpgsci(2);
cpgsls(2);
cpgline(dim,x,y2);
/* trace la courbe 2*/
cpgptxt(82,0.8,0,0,"n=2");
cpgsci(3);
cpgsls(3);
cpgline(dim,x,y3);
/* trace la courbe 3*/
cpgptxt(105,0.6,58,0,"n=0.5");
cpgask(1);
/* attend qu'on tape une touche */
cpgend();
/* sortie pgplot */
}