bonsoir,

voici un code (qui fonctionne !) pour création d'un graphe

j'aimerais ajouter balise html pour écrire du texte avec, mais comment faire ????

merci.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?php
 
 
 
////////////////////////////////////////////////////////////////:
//Préparation des données
//$mois=array('1','2','3','4','5','6','7','8','9', '10', '11', '12');
//$libelle_produit=array('Produit1','Produit1','Produit1','Produit1','Produit1','Produit1','Produit1','Produit1','Produit1','Produit1','Produit1','Produit1');
//$qtvendu=array('4000','6000','8000','4444','5555','3333','7777','6666','4567','5678','6789','5478');
//$moisFr=array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Decembre');
//$resultat=array();
//$row=array();
//$i=0;
 
 
 
/////////////////////////////////////////////:
// Préparation de l'image
/////////////////////////////////////////////
// Nous adaptons maintenant la largeur de l'image et l'échelle 
//par rapport aux nombres de mois de vente de l'année et la 
// quantité maximale et celle minimale, 
//tracer les grilles 
//et allouer les couleurs nécessaires dans le graphe. 
///////////////////////////////////////////////
 
 
$i=4;
 
//Type mime de l'image
header('Content-type: image/png');
 
//Chemin vers le police à utiliser
//$font_file = './arial.ttf';
 
//Adapter la largeur de l'image avec le nombre de donnée
$bordX=25;
$bordY=25;
$largeur=$i*100;
$hauteur=$i*100;
$imageX=$largeur+(2*$bordX);
$imageY=$hauteur+(2*$bordY);
 
 
//Création de l'image
$courbe=imagecreatetruecolor($imageX, $imageY);
 
//Allouer les couleurs à utiliser
$bleu=imagecolorallocate($courbe, 0, 0, 255);
$ligne=imagecolorallocate($courbe, 220, 220, 220);
$fond=imagecolorallocate($courbe, 250, 250, 250);
$noir=imagecolorallocate($courbe, 0, 0, 0);
$rouge=imagecolorallocate($courbe, 255, 0, 0);
 
//Colorier le fond
imagefilledrectangle($courbe,0 , 0, $imageX, $imageY, $fond);
 
//Tracer l'axe des abscisses
imageline($courbe, $bordX, $imageY/2, $largeur+$bordX,$imageY/2, $noir);
 
//Tracer l'axe des ordonnées
imageline($courbe, $imageX/2, $bordY, $imageX/2, $imageY-$bordY, $noir);
 
 
//Nombres des grides verticales
$nbOrdonne=3;
$nbAbscisse=3;
 
//Calcul des ordonnees des grides
$pasY=$i/$nbOrdonne*100;
$pasX=$i/$nbAbscisse*100;
 
for($a=1;$a<$i+1;$a++){
 
    //Affiche la valeur de l'absicsse
    imagestring($courbe, 2, $bordX + ($a-1)*$pasX-5, ($hauteur-$bordY)/2+20, round($a,1), $noir);
    //Trace la gride
    imageline($courbe, $bordX + ($a-1)*$pasX, $largeur+$bordY, $bordX + ($a-1)*$pasX, $bordY, $ligne);
    //Decaller vers le haut pour la prochaine gride
 
}
 
for($a=1;$a<$i+1;$a++){
 
    //Affiche la valeur de l'ordonnee
    imagestring($courbe, 2,($largeur-$bordX)/2+$bordY , $bordY + ($i-$a)*$pasY, round($a,1), $noir);
    //Trace la gride
    imageline($courbe, $bordX, $bordY+($a-1)*$pasY, $largeur+$bordX, $bordY+($a-1)*$pasY, $ligne);
    //Decaller vers le haut pour la prochaine gride
}
 
 
 
 
//////////////////////////////////////////////
// TRACAGE DU DIAGRAMME
//Pour tracer un diagramme d'effectifs, 
//nous calculons la position du point correspondant à la quantité vendue, 
//dessiner un point rouge, 
//tracer le segment vertical (bâton) proportionnel à l'abscisse du point rouge, 
//écrire la quantité vendue en bleu et relier ensuite les points obtenus. 
 
 
 
///////////////////////////////////////////////
// LES TABLEAUX
/////////////////////////////////////////////:
 
$importance=array('1','2','3','4','2','3','4','1','2');   //// en X
$note=array('1','2','3','4','1','2','3','4','3');    ///// en Y
$question=array('Q1','Q2','Q3','Q4','Q5','Q6','Q7','Q8','Q9');
 
/////////////////////////////////////////////
$i=4;
 
for($z=0;$z<9;$z++){  // 9 = nombre de resultats
 
  // calcul la largeur du point par rapport à la valeur $importance
   $x= $bordX + $pasX*($importance[$z]-1);
 
   //calculer la hauteur du point par rapport à sa valeur satisfaction ($note)
   $y= $bordY + ($i-$note[$z])*$pasY;
	//$y=$bordY+3*$pasY;
 
   //dessiner le point
   imagefilledellipse($courbe, $x, $y, 6, 6, $rouge);
 
    //Afficher la valeur au dessus du point ////////////////   $question
   imagestring($courbe, 2, $x+15,$y-15 , $question[$z], $bleu);
 
}
 
 
//Envoyer le flux de l'image
imagepng($courbe);
 
//Desallouer le memoire utiliser par l'image
imagedestroy($courbe);
 
 
 
?>