|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Bonjour,
J'ai des données que je souhaite représenter sous forme graphique. Ce serait la première fois que je fais ça en php et je ne sais pas bien comment m'y prendre... Mes données sont les suivantes : date et hits A chaque date correspond un nombre de hits. Je souhaite faire un graphique sous forme d'un histogramme (classique donc). Quelle est la meilleure façon de s'y prendre ? Existe-t-il des scripts préfaits efficaces (j'ai cherché et trouvé PHP/SWF Charts, apparemment génial, mais il ajoute un lien vers le site du script :-/) ? Pourriez-vous m'aiguiller un peu s'il vous plait ? |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() |
Regarde du côté d' Artichow ou de JPGraph
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Merci pour ces pistes
J'ai regardé du côté d'Artichow mais je ne comprends pas commens dessiner un histogramme avec des dates en absices. J'ai posté un message dans le forum du site d'Artichow mais celui-ci ne semble pas très actif :-/. JPGraph n'a pas de forum d'aide, si :- ? |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() |
Je te conseil de commencer en te basant sur les exemples données (tu peux cliquer sur les graphiques pour voir le code )
Il y' a aussi les tutoriaux J'ai également fait un petit article de "découverte". Si ça peut t'aider... |
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Merci pour ces infos
J'ai fouillé pas mal mais je ne comprends toujours pas pourquoi ça ne marche pas : Code :
Code :
|
||||
|
|
00
|
|
|
#6 | ||
|
Membre éclairé
![]() |
Alors aperrement tu crée $var1 et $var2.
Cependant il te faut un tableau avec une structure comme ça plutot : Code :
|
||
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Comment dois-je faire alors :- ? Ca ne marche pas comme ça non plus
Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Membre chevronné
![]() Inscription : février 2005 Messages : 671 ![]() |
Et comme ceci :
Code :
__________________
PHP Competition System Script de gestion de coupes et championnats http://phpcompet.free.fr Mon jeu de foot |
||
|
|
00
|
|
|
#9 | ||
|
Membre éclairé
![]() |
Peux tu faire un var_dump de ton tableau voir ce qu'il contient.
Aucune erreur d'afficher ? Sinon je pensais plutot àa un code comme ça : Code :
|
||
|
00
|
|
|
#10 | ||||||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Citation:
pour la ligne $values[$i] = '$date' => '$hits'; Yannux > En fait je prends uniquement le jour (pour pouvoir afficher plus de barres/jours dans mon histogramme). Donc si je prends le jour comme indice de mon tableau est-ce que ça va toujours marcher si on est le 05 du mois ? Est-ce que ça va toujours afficher les jours dans cet ordre : ... - 28 - 29 - 30 - 01 - 02 -03 - 04 - 05 (c'est à dire afficher les derniers jours du mois précédent avant les premiers jours du mois en cours) ? J'ai fais : Code :
Citation:
|
||||||
|
|
00
|
|
|
#11 |
|
Membre éclairé
![]() |
Oui ça m semble bon..
Tu peux faire un essai avec ton tableau et l'exemple donnée ici : http://www.artichow.org/bar/Simple Directement dans ton script, sans passer par une balise <img... |
|
00
|
|
|
#12 | ||||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Mmm si je fais :
Code :
Par contre si je fais : Code :
Ce qui est logique puisque le tableau ne contient plus que les hauteurs. Mais comment faire passer les dates dans l'histogramme pour les afficher en dessous de chaque barre en abscisse :-? Edit : en fait si je fais "$i = 25;" au lieu de "$i = 0;" ça m'affiche la même erreur que le premier code de ce post (avec "$values[$date] = $hits; "). Bizarre, non ?? |
||||
|
|
00
|
|
|
#13 | ||
|
Membre éclairé
![]() |
Un petit indice..
La solution est ici : http://www.artichow.org/code?file=bar-001 Plutôt vers la fin du script. Et il va te falloir 2 tableaux finalement. Code :
|
||
|
00
|
|
|
#14 | ||||||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Ah ça va déjà un peu mieux là. Merci encore une fois pour votre aide
Pour résumer : Si je fais ça sur une page indépendante : Code :
Par contre ça bloque toujours dans le passage via le tag image. En effet si je fais ceci: Code test2.php :
Code paf.php :
Là ça ne marche plus rien :-/ (pas d'erreur non plus). J'ai essayé de ne pas exécuter la variable y : "// $plot->xAxis->setLabelText($y);" mais ça ne change rien (même pas un graphique mal foutu ;-/). |
||||||
|
|
00
|
|
|
#15 |
|
Membre éclairé
![]() |
Ton tableau est gros ?
Je crois que le nombre de caractère dans une url est limité à 255 caractères |
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Ben en fait c'est très exactement les données que j'ai citées précédemment avec le var dump. Donc non c'est pas gros du tout, ça correspond à 2 colonnes avec comme données des nombres à 2 chiffres.
Mais le problème se posera peut-être lorsque j'aurais 20 colonnes à afficher non (ce qui sera rapidement le cas pour ce que je souhaite faire) ? Comment doit-on faire dans ce cas là :- ? |
|
|
00
|
|
|
#17 |
|
Membre éclairé
![]() |
Il y a les sessions je pense.
Par contre c'est bizarre si tu n'as que peu de valeurs pour l'instant.... Peut tu montrer la source html de ta page avec la balise img.... Voir le contenu de src="... |
|
00
|
|
|
#18 | |||||||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Pour m'assurer que ce n'était pas lié au code source de la page j'ai fait ceci :
Code histogramme.php :
Seul le tag de l'image s'affiche donc sur cette page (rien d'autre dans le code source), c'est à dire : Code :
<img src="test2.php?values=a%3A2%3A%7Bi%3A0%3Bs%3A1%3A%223%22%3Bi%3A1%3Bs%3A1%3A%224%22%3B%7D" alt="Mon graphique"/> Code test2.php :
Je m'assure donc ainsi que cela ne vient pas du code source, non ? Par contre du coup ça ne dit toujours pas d'où peut venir le foirage :-/. Quand j'enlève le urlencode, j'ai ceci : Code :
<img src="test2.php?values=a:3:{i:0;s:2:"10";i:1;s:2:"16";i:2;s:1:"3";}" ...> J'ai aussi essayé de modifier test2.php comme-ceci : Code :
Citation:
|
|||||||
|
|
00
|
|
|
#19 | ||
|
Membre éclairé
![]() |
Alors attention je viens de voir que tu faisais un urlencode et un serialize.
Si tu fais un : Pour récupérer tu dois faire : Code :
|
||
|
00
|
|
|
#20 | ||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Je viens de trouver une super astuce pour afficher mes graphique quelque soit le nombre de données
L'astuce divine est ici : http://artichow.org/forum/read.php?2,3636,3636#msg-3636 Et ça marche du tonnerre de Dieu du premier coup Par contre par curiosité je ne comprends pas ta réflexion car en faisant : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com