Bonjour à tous,
j'ai un site éducatif, avec des test exercices etc.
Et voilà, j'aimerai faire un bon système de statistique.
La première chose que je voudrais faire, c'est faire un graphique qui montre l'évolution des points ...
Inutile de vous expliquer plus dans les détails ce que sont les points, mais c'est en bref le nb de questions sues, fois quelques coefficients selon le niveaux de la question etc ...
Je viens de faire des essai avec artichow, en prenant le modèle line de artichow ...
Je vous passe le code :
Voilà, comme vous le devinez, les paramètres sont passés dans l'URL, et les données du graphiques sont passer dans $_GET['x'] , sous forme d'array serlializé au préalable.
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 <?php require_once "../artichow-php5/LinePlot.class.php"; $y=array( 0 => 5, 1 => 12, 2=>15, 3=>16, 4=>16, 5=>25, 6=>1 ); $_GET['x']=serialize($y); if(isset($_GET['width'])){ $width=intval($_GET['width']); }else{ $width=900; } if(isset($_GET['height'])){ $height=intval($_GET['height']); }else{ $height=400; } $graph = new Graph($width, $height); $graph->setAntiAliasing(TRUE); $graph->border->setStyle(Line::DOTTED); $graph->border->setColor(new Red); $x=unserialize($_GET['x']); $plot = new LinePlot($x); $graph->add($plot); $graph->draw(); ?>
Le résultat est bon, ça marche.
Mais j'ai remarqué que l'on ne peut pas suivre un autre plan ! Par si l'array y était ceci :
Donc voilà, si on ne peut pas préciser les abscisses que l'on veut on ne peut pas faire ça avec des dates ! J'ai essayé : ça marche pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php $y=array( 1=> 5, 2 => 12, 3=>15, 4=>16, 5=>16, 6=>25, 7=>1 ); ?>
Comment faire SVP pour faire un graphique avec des dates ? Et peut-on afficher un texte sur l'abscisse ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $y=array( 1996-01-01 => 5, 1996-01-02 => 12, 1996-01-03=>15, 1996-01-04=>16, 1996-01-05=>16, 1996-01-06=>25, 1996-01-07=>1 );
Par exemple remplacer 1 par "Jour 1" ? Ainsi, ça permettrait d'afficher une date à la place ...
Merci d'avance.
PS
C'est assez urgent ...
Partager