Subversion Repositories Applications.annuaire

Rev

Rev 232 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 232 Rev 442
Line 13... Line 13...
13
 
13
 
Line 14... Line 14...
14
class Statistiques {
14
class Statistiques {
15
 
15
 
-
 
16
	const GRAPH_CAMEMBERT = 'pie';
-
 
17
	const GRAPH_COURBE = 'courbe';
-
 
18
	private $chemin_lib_graph = '';
-
 
19
	
-
 
20
	public function __construct() {
Line 16... Line 21...
16
	const GRAPH_CAMEMBERT = 'pie';
21
		$this->chemin_lib_graph = Config::get('chemin_jpgraph');
-
 
22
	}
17
	const GRAPH_COURBE = 'courbe';
23
 
18
 
-
 
19
	public function genererGraphique($type_graphique, $valeurs, $titre = '', $taille = array(800, 800), $nom_axe_x = '', $nom_axe_y = '') {
-
 
20
 
24
	public function genererGraphique($type_graphique, $valeurs, $titre = '', $taille = array(800, 800), $nom_axe_x = '', $nom_axe_y = '') {
21
		// Inclusion de la librairie JpGraph
-
 
22
		include_once("lib/jpgraph.php");
25
		include_once $this->chemin_lib_graph.'jpgraph.php';
23
		$graph = null;
26
		
24
 
27
		$graph = null;
25
		switch($type_graphique) {
28
		switch($type_graphique) {
26
			case Statistiques::GRAPH_CAMEMBERT:
-
 
27
				$graph = $this->genererGraphiqueCamembert($valeurs, $titre, $taille);
29
			case Statistiques::GRAPH_CAMEMBERT:
28
			break;
30
				$graph = $this->genererGraphiqueCamembert($valeurs, $titre, $taille);
29
 
31
				break;
30
			case Statistiques::GRAPH_COURBE:
-
 
31
				$graph = $this->genererGraphiqueCourbe($valeurs, $titre, $taille, $nom_axe_x, $nom_axe_y);
32
			case Statistiques::GRAPH_COURBE:
32
			break;
33
				$graph = $this->genererGraphiqueCourbe($valeurs, $titre, $taille, $nom_axe_x, $nom_axe_y);
33
 
-
 
34
			default:
34
				break;
Line 35... Line 35...
35
				$graph = $this->genererGraphiqueCourbe($valeurs);
35
			default:
36
			break;
36
				$graph = $this->genererGraphiqueCourbe($valeurs);
Line 37... Line 37...
37
		}
37
		}
38
 
-
 
39
		return $graph;
38
 
40
	}
-
 
41
 
-
 
42
	public function genererGraphiqueCamembert($valeurs, $titre, $taille) {
39
		return $graph;
43
 
-
 
44
		include_once("lib/jpgraph_pie.php");
40
	}
45
		$graph = new PieGraph($taille[0],$taille[1]);
-
 
-
 
41
 
46
		
42
	public function genererGraphiqueCamembert($valeurs, $titre, $taille) {
47
		$legendes = array_keys($valeurs);
43
		include_once $this->chemin_lib_graph.'jpgraph_pie.php';
48
	
-
 
49
		$valeurs = array_values($valeurs);
-
 
50
 
-
 
51
		$oPie = new PiePlot($valeurs);
-
 
52
		$oPie->SetLegends($legendes);
44
		$legendes = array_keys($valeurs);
53
 
45
		$valeurs = array_values($valeurs);
54
		// Ajouter le titre du graphique
-
 
55
		$graph->title->Set($titre);
46
		//die('<pre>'.print_r($valeurs, true).'</pre>');
56
 
-
 
57
		// position du graphique (légèrement à droite)
47
		$oPie = new PiePlot($valeurs);
58
		$oPie->SetCenter(0.35);
48
		$oPie->SetLegends($legendes);
Line -... Line 49...
-
 
49
		// position du graphique (légèrement à droite)
-
 
50
		$oPie->SetCenter(0.35);
-
 
51
		$oPie->SetValueType(PIE_VALUE_PER);
59
 
52
		// Format des valeurs de type "entier"
60
		$oPie->SetValueType(PIE_VALUE_PER);
53
		$oPie->value->SetFormat('%1.2f%%');
61
 
54
 
Line 62... Line 55...
62
		// Format des valeurs de type "entier"
55
		$graph = new PieGraph($taille[0],$taille[1]);
63
		$oPie->value->SetFormat('%1.2f%%');
-
 
64
 
56
		// Ajouter le titre du graphique
65
		$graph->Add($oPie);
57
		$graph->title->Set($titre);
66
		return $graph;
58
		$graph->Add($oPie);
67
	}
59
		return $graph;
Line 68... Line 60...
68
 
60
	}
Line 128... Line 120...
128
 
120
 
129
		return $graph;
121
		return $graph;
Line 130... Line 122...
130
	}
122
	}
-
 
123
 
Line 131... Line -...
131
 
-
 
132
	public function combinerGraphiques($graph1, $graph2, $taille) {
124
	public function combinerGraphiques($graph1, $graph2, $taille) {
133
 
125
		include_once $this->chemin_lib_graph.'jpgraph_mgraph.php';
134
		include_once('lib/jpgraph_mgraph.php');
126
 
Line 135... Line 127...
135
		$mgraph = new MGraph($taille[0],$taille[1],"auto");
127
		$mgraph = new MGraph($taille[0],$taille[1],"auto");
Line 148... Line 140...
148
	}
140
	}
Line 149... Line 141...
149
	
141
	
150
	public function dessinerGraph($graph) {
142
	public function dessinerGraph($graph) {
151
		return $graph->Stroke(_IMG_HANDLER);
143
		return $graph->Stroke(_IMG_HANDLER);
152
	}
-
 
153
 
144
	}
154
}
145
}
155
?>
146
?>