Bonjour tout le monde ,
je suis actuellement en stage et je dois faire des statistique de la base de données c-a-d récupérer les données de la BD et les représenter sous forme d'un histogramme
avez vous des idées ou des solutions
merci d avance
Version imprimable
Bonjour tout le monde ,
je suis actuellement en stage et je dois faire des statistique de la base de données c-a-d récupérer les données de la BD et les représenter sous forme d'un histogramme
avez vous des idées ou des solutions
merci d avance
Salut,
Personnellement, pour mes stats, j'utilise pChart 2.0 qui est magique.
pChart 2.0
pChart est vraiment un excellent choix mais à moins que tu ne paies la version pro, la version community est en GPL ce qui t'empêche de l'inclure dans un projet non-GPL (attention à ça, la FSF est assez virulente là dessus).
Il en existe d'autres mais globalement c'est toujours la meme chose:
- les bonnes libs sont payantes ou en GPL
- les libs en MIT, LGPL, Apache etc sont généralement moins fournies
- quelques exceptions s'appliquent pour les écoles (voir au cas par cas)
Personnellement, j'ai laissé tomber la génération de graphiques coté serveur avec pChart ou jpGraph pour utilise jqPlot qui fonctionne en JavaScript avec Ajax (ce qui évite de bloquer l'utilisateur qui attends son graphe).
A toi de voir donc :)
Merci mais j ai commencé a travailler avec jpgraph
mais j ai des erreurs au niveau du code
Code:
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 <?php include_once ("../jpgraph-1.27.1/src/jpgraph.php"); include_once ("../jpgraph-1.27.1/src/jpgraph_bar.php"); ///database define('MYSQL_HOST', 'localhost'); define('MYSQL_USER', 'root'); define('MYSQL_PASS', ''); define('MYSQL_DATABASE', 'track_publications'); //$tdata1y[] = array(); //$tdata2y[] = array(); // ********************************************** // Extraction des données dans la base de données // ************************************************* $sql = <<<EOF SELECT ( year ) AS ANNEE, COUNT( ID ) AS NBR_pub FROM publications GROUP BY year EOF; $mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql'); @mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base'); $mysqlQuery = @mysql_query($sql, $mysqlCnx) or die(mysql_error()); while ($row = mysql_fetch_assoc($mysqlQuery)) { $data1y[] = $row['ANNEE']; $data2y[] = $row['NBR_pub']; } /* while ($row = mysql_fetch_assoc($mysqlQuery)) { $i = 0; $tdata1y[$i] = $row['ANNEE']; $tdata2y[$i] = $row['NBR_pub']; $i += 1; } */ mysql_close($con); //$data1y=array(12,8,19,3,10,5); //$data2y=array(8,2,12,7,14,4); // Create the graph. These two calls are always required $graph = new Graph(310,200,'auto'); $graph->SetScale("textlin"); $graph->img->SetMargin(40,30,20,40); $graph->SetShadow(); // Create the bar plots $b1plot = new BarPlot($data1y); $b1plot->SetFillColor("orange"); $targ=array("bar_clsmex2.php#1","bar_clsmex2.php#2","bar_clsmex2.php#3", "bar_clsmex2.php#4","bar_clsmex2.php#5","bar_clsmex2.php#6"); $alts=array("val=%d","val=%d","val=%d","val=%d","val=%d","val=%d"); $b1plot->SetCSIMTargets($targ,$alts); $b2plot = new BarPlot($data2y); $b2plot->SetFillColor("blue"); $targ=array("bar_clsmex2.php#7","bar_clsmex2.php#8","bar_clsmex2.php#9", "bar_clsmex2.php#10","bar_clsmex2.php#11","bar_clsmex2.php#12"); $alts=array("val=%d","val=%d","val=%d","val=%d","val=%d","val=%d"); $b2plot->SetCSIMTargets($targ,$alts); // Create the grouped bar plot $abplot = new AccBarPlot(array($b1plot,$b2plot)); $abplot->SetShadow(); $abplot->value->Show(); // ...and add it to the graPH $graph->Add($abplot); $graph->title->Set("Image map barex2"); $graph->xaxis->title->Set("X-title"); $graph->yaxis->title->Set("Y-title"); $graph->title->SetFont(FF_FONT1,FS_BOLD); $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD); // Send back the HTML page which will call this script again // to retrieve the image. $graph->StrokeCSIM(); ?>