Subversion Repositories Applications.annuaire

Rev

Rev 223 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 223 Rev 232
Line 14... Line 14...
14
class Statistiques {
14
class Statistiques {
Line 15... Line 15...
15
 
15
 
16
	const GRAPH_CAMEMBERT = 'pie';
16
	const GRAPH_CAMEMBERT = 'pie';
Line 17... Line 17...
17
	const GRAPH_COURBE = 'courbe';
17
	const GRAPH_COURBE = 'courbe';
Line 18... Line 18...
18
 
18
 
19
	public function genererGraphique($type_graphique, $valeurs, $titre = '', $nom_axe_x = '', $nom_axe_y = '') {
19
	public function genererGraphique($type_graphique, $valeurs, $titre = '', $taille = array(800, 800), $nom_axe_x = '', $nom_axe_y = '') {
20
 
20
 
Line 21... Line 21...
21
		// Inclusion de la librairie JpGraph
21
		// Inclusion de la librairie JpGraph
22
		include_once("lib/jpgraph.php");
22
		include_once("lib/jpgraph.php");
23
		$graph = null;
23
		$graph = null;
24
 
24
 
Line 25... Line 25...
25
		switch($type_graphique) {
25
		switch($type_graphique) {
26
			case Statistiques::GRAPH_CAMEMBERT:
26
			case Statistiques::GRAPH_CAMEMBERT:
27
				$graph = $this->genererGraphiqueCamembert($valeurs, $titre);
27
				$graph = $this->genererGraphiqueCamembert($valeurs, $titre, $taille);
Line 28... Line 28...
28
			break;
28
			break;
29
 
29
 
30
			case Statistiques::GRAPH_COURBE:
30
			case Statistiques::GRAPH_COURBE:
31
				$graph = $this->genererGraphiqueCourbe($valeurs, $titre, $nom_axe_x, $nom_axe_y);
31
				$graph = $this->genererGraphiqueCourbe($valeurs, $titre, $taille, $nom_axe_x, $nom_axe_y);
Line 32... Line 32...
32
			break;
32
			break;
33
 
33
 
Line 34... Line 34...
34
			default:
34
			default:
Line 35... Line 35...
35
				$graph = $this->genererGraphiqueCourbe($valeurs);
35
				$graph = $this->genererGraphiqueCourbe($valeurs);
36
			break;
36
			break;
Line 37... Line 37...
37
		}
37
		}
Line 38... Line 38...
38
 
38
 
Line 53... Line 53...
53
 
53
 
54
		// Ajouter le titre du graphique
54
		// Ajouter le titre du graphique
Line 55... Line 55...
55
		$graph->title->Set($titre);
55
		$graph->title->Set($titre);
56
 
56
 
Line 57... Line 57...
57
		// position du graphique (légèrement à droite)
57
		// position du graphique (légèrement à droite)
Line 58... Line 58...
58
		$oPie->SetCenter(0.4);
58
		$oPie->SetCenter(0.35);
59
 
59
 
Line 60... Line 60...
60
		$oPie->SetValueType(PIE_VALUE_PER);
60
		$oPie->SetValueType(PIE_VALUE_PER);
61
 
61
 
62
		// Format des valeurs de type "entier"
62
		// Format des valeurs de type "entier"
Line 63... Line 63...
63
		$oPie->value->SetFormat('%1.2f%%');
63
		$oPie->value->SetFormat('%1.2f%%');
Line 64... Line 64...
64
 
64
 
Line 65... Line 65...
65
		$graph->Add($oPie);
65
		$graph->Add($oPie);
66
		return $graph->Stroke(_IMG_HANDLER);
66
		return $graph;
Line 67... Line -...
67
	}
-
 
68
 
67
	}
Line 69... Line 68...
69
	public function genererGraphiqueCourbe($valeurs, $titre, $nom_axe_x, $nom_axe_y) {
68
 
70
 
69
	public function genererGraphiqueCourbe($valeurs, $titre, $taille, $nom_axe_x, $nom_axe_y) {
-
 
70
 
Line 71... Line 71...
71
		include_once("lib/jpgraph_line.php");
71
		include_once("lib/jpgraph_line.php");
72
 
72
 
Line 73... Line 73...
73
		// Création du conteneur
73
		// Création du conteneur
Line 89... Line 89...
89
		$graph->title->Set($titre);
89
		$graph->title->Set($titre);
Line 90... Line 90...
90
 
90
 
91
		// Afficher la grille de l'axe des ordonnées
91
		// Afficher la grille de l'axe des ordonnées
92
		$graph->ygrid->Show();
92
		$graph->ygrid->Show();
93
		// Fixer la couleur de l'axe (bleu avec transparence : @0.7)
93
		// Fixer la couleur de l'axe (bleu avec transparence : @0.7)
94
		$graph->ygrid->SetColor('blue@0.7');
94
		$graph->ygrid->SetColor('#E6E6E6@0.7');
95
		// Des tirets pour les lignes
95
		// Des tirets pour les lignes
Line 96... Line 96...
96
		$graph->ygrid->SetLineStyle('solid');
96
		$graph->ygrid->SetLineStyle('solid');
97
 
97
 
98
		// Afficher la grille de l'axe des abscisses
98
		// Afficher la grille de l'axe des abscisses
99
		$graph->xgrid->Show();
99
		//$graph->xgrid->Show();
100
		// Fixer la couleur de l'axe (rouge avec transparence : @0.7)
100
		// Fixer la couleur de l'axe (rouge avec transparence : @0.7)
101
		$graph->xgrid->SetColor('red@0.7');
101
		//$graph->xgrid->SetColor('red@0.7');
-
 
102
		// Des tirets pour les lignes
-
 
103
		//$graph->xgrid->SetLineStyle('solid');
Line 102... Line 104...
102
		// Des tirets pour les lignes
104
		$graph->xaxis->SetLabelAngle(90);
103
		$graph->xgrid->SetLineStyle('solid');
105
		$graph->xaxis->SetTextLabelInterval(4);
Line 104... Line 106...
104
 
106
 
105
		// Créer une courbes
107
		// Créer une courbes
106
		$courbe = new LinePlot(array_values($valeurs));
108
		$courbe = new LinePlot(array_values($valeurs));
107
 
109
 
108
		// Chaque point de la courbe ****
110
		// Chaque point de la courbe ****
109
		// Type de point
111
		// Type de point
110
		$courbe->mark->SetType(MARK_FILLEDCIRCLE);
112
		$courbe->mark->SetType(MARK_FILLEDCIRCLE);
Line 111... Line 113...
111
		// Couleur de remplissage
113
		// Couleur de remplissage
112
		$courbe->mark->SetFillColor("green");
114
		$courbe->mark->SetFillColor("red");
-
 
115
		// Taille
113
		// Taille
116
		$courbe->mark->SetWidth(1);
Line 114... Line 117...
114
		$courbe->mark->SetWidth(5);
117
 
115
 
118
		// Paramétrage des axes
Line 116... Line 119...
116
		// Paramétrage des axes
119
		//$graph->xaxis->title->Set($nom_axe_x);
117
		$graph->xaxis->title->Set($nom_axe_x);
120
		$txt = new Text($nom_axe_x,270,460); 
Line 118... Line 121...
118
		$graph->xaxis->SetTickLabels(array_keys($valeurs));
121
		$graph->xaxis->SetTickLabels(array_keys($valeurs));
119
 
122
 
Line 120... Line 123...
120
		// Paramétrage des axes
123
		// Paramétrage des axes
Line 121... Line 124...
121
		$graph->yaxis->title->Set($nom_axe_y);
124
		$graph->yaxis->title->Set($nom_axe_y);
122
 
125
 
123
		// Ajouter la courbe au conteneur
126
		// Ajouter la courbe au conteneur
124
		$graph->Add($courbe);
127
		$graph->Add($courbe);
-
 
128
 
-
 
129
		return $graph;
-
 
130
	}
-
 
131
 
125
 
132
	public function combinerGraphiques($graph1, $graph2, $taille) {
126
		return $graph->Stroke(_IMG_HANDLER);
133
 
127
	}
134
		include_once('lib/jpgraph_mgraph.php');
-
 
135
		$mgraph = new MGraph($taille[0],$taille[1],"auto");
128
 
136
		$xpos1=300;$ypos1=3;
-
 
137
		$xpos2=3;$ypos2=200;
-
 
138
		
-
 
139
		$graph1->SetFrame(false);
-
 
140
		$graph2->SetFrame(false);
129
	public function combinerGraphiques($graph) {
141
		
130
 
142
		//$xpos3=3;$ypos3=1000;
Line 131... Line 143...
131
		include_once('lib/jpgraph_mgraph.php');
143
		$mgraph->Add($graph1,$xpos1,$ypos1);
132
		$mgraph = new MGraph(2000,2000);
144
		$mgraph->Add($graph2,$xpos2,$ypos2);