Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1692 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme d'echelle, axes JpGraph (LinePlot)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme d'echelle, axes JpGraph (LinePlot)

n°1499307
Alisteroid
Posté le 05-01-2007 à 14:10:06  profilanswer
 

Bonjour voila mes probleme:

 

J'essaye de creer un graphique à l'aide de JPgraph, j'ai longuement parcouru la doc, mais il reste des choses que je n'arrive pas a faire:

 

Voici le modèle de données :

 

Code :
  1. $statsValeurs :
  2. Array
  3. (
  4.     [0] => 21807
  5.     [1] => 35094
  6. )
  7. $statsLegendes:
  8. Array
  9. (
  10.     [0] => avr-06
  11.     [1] => mai-06
  12. )
  13. // Create the graph. These two calls are always required
  14. $graph = new Graph(800,300,"auto" );   
  15. $graph->SetScale("textlin" );
  16. // Create the linear plot
  17. $lineplot=new LinePlot($statsValeurs);
  18. $lineplot->mark->SetType(MARK_UTRIANGLE);
  19. // Add the plot to the graph
  20. $graph->Add($lineplot);
  21. $graph->img->SetMargin(50,30,30,30);
  22. $graph->title->Set($titreGraphe);
  23. $graph->xaxis->title->Set("Mois" );
  24. $graph->yaxis->title->Set("Nombre de clients" );
  25. $graph->title->SetFont(FF_VERDANA, FS_NORMAL, 8);
  26. $graph->yaxis->title->SetFont(FF_VERDANA, FS_NORMAL, 8);
  27. $graph->xaxis->title->SetFont(FF_VERDANA, FS_NORMAL, 8);
  28. $graph->xaxis->SetTickLabels($statsLegendes);
  29. $lineplot->SetColor("black" );
  30. $lineplot->SetWeight(2);
  31. $lineplot->SetBarCenter();
  32. $graph->yaxis->SetWeight(2);
  33. $graph->xaxis->SetWeight(2);
  34. $graph->SetMarginColor("white" );
  35. $graph->ygrid->SetFill(true,'#EEEEEE','#EEEEEE');
  36. // Display the graph
  37. $graph->Stroke($file_graph);


J'obtient cela:

 

http://img187.imageshack.us/img187/1781/graph16a679f969d698af01ru5.pngOr j'ai besoin d'avoir cela comme résultat    :(   dans mon exemple je n'ai que des données pour deux mois, donc ne pas tenir compte du nombre de mois pour lequel le graphe est tracé...)

 

http://img187.imageshack.us/img187/4574/statsgraphfa9.jpg
C'est à dire :

 

Le libellé de l'axe des X au milieu et non a droite.
Les mois (mai-06,avr-06) doivent se trouver entre les graduations et non dessus.
Les points sont marqués par un carré et non un triangle. -> trouvé -> \"$lineplot->mark->SetType(MARK_SQUARE);\\"
La graduation des Y commence à 0.  ->trouvé -> $graph->yaxis->scale->SetAutoMin(0);

Le libellé de l'axe Y ne doit pas déborder sur le libellé des graduations!!!

 

Si vous savez comment faire cela, je vous en serais très reconnaissant!

 

Merci d'avance

 

Seb


Message édité par Alisteroid le 05-01-2007 à 14:23:03
mood
Publicité
Posté le 05-01-2007 à 14:10:06  profilanswer
 

n°1499339
Alisteroid
Posté le 05-01-2007 à 14:32:01  profilanswer
 

J'ai reussi a corriger deux erreur :
J'arrive donc à ça :
http://img412.imageshack.us/img412/6125/graph16a679f969d698af01nt9.png

 

Mes problèmes restants sont :

 
  • 1:Le libellé de l'axe des X au milieu et non a droite.
  • 2:Les mois (mai-06,avr-06) doivent se trouver entre les graduations et non dessus.
  • 3:Le libellé de l'axe Y ne doit pas déborder sur le libellé des graduations!!!



Message édité par Alisteroid le 05-01-2007 à 14:35:33
n°1499353
Alisteroid
Posté le 05-01-2007 à 14:46:50  profilanswer
 

Help Meeeeeeeeeeeeeeeeee  [:el hortense]

n°1499388
Alisteroid
Posté le 05-01-2007 à 15:36:44  profilanswer
 

:/

n°1499393
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 15:50:31  profilanswer
 

Pour le 3, il faut utiliser $graph->img->SetMargin(.., .., .., ..); pour faire en sorte que le graphique (et donc l'axe Y) soit décalé plus la droite
 
Pour le 1 :  
$graph->xaxis->title->Set("mois" );
$graph->xaxis->SetPos($middle);  // $middle vaut 1/2 de la largeur du graphique
 
Pour le 2, je ne crois pas que ça soit possible... Après, mois je ne connais que la v1.12.2
 
Comme lib GPL identique à peu près, y'a Artichow. Peut-être que lui sait faire...http://www.artichow.org/

n°1499415
Alisteroid
Posté le 05-01-2007 à 16:15:31  profilanswer
 

rufo a écrit :

 

Pour le 3, il faut utiliser $graph->img->SetMargin(.., .., .., ..); pour faire en sorte que le graphique (et donc l'axe Y) soit décalé plus la droite

 

->ca décalle tout le graphe, avec le libelle de l'axe Y aussi Ca ne marche que pour la marge haute (le titre reste en haut et de l'espace s'insere entre le titre et le graphe)

 


Pour le 1 :
$graph->xaxis->title->Set(\"mois\" );
$graph->xaxis->SetPos($middle); // $middle vaut 1/2 de la largeur du graphique

 

Cela sert a mettre l'ase des X a unr ordonnée précise :ex : $graph->xaxis->SetPos(10); -> l'axe des X est a y = 10 au lieu de 0;

  

Pour le 2, je ne crois pas que ça soit possible... Après, mois je ne connais que la v1.12.2

 

Comme lib GPL identique à peu près, y'a Artichow. Peut-être que lui sait faire...http://www.artichow.org/
je ne peux utiliser que JPgraph, merci quand même d'avoir essayé de m'aider


Message édité par Alisteroid le 05-01-2007 à 16:17:21
n°1499420
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 16:33:12  profilanswer
 

désolé. J'ai regardé pas mal d'ex de JPGraph, et à chaque fois, la légende de l'axe X se trouve calée à droite.
Juste pour savoir, pourquoi tu dois forcément utiliser JPGraph?

n°1499428
Alisteroid
Posté le 05-01-2007 à 16:40:37  profilanswer
 

Oui, j'ai pas le choix :/ ça m'est imposé par mon taf

n°1499432
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 16:42:36  profilanswer
 

non, parce que comme artichow c'est gratuit, ça évite de payer la licence de JPGraph. Moi, à mon boulot, c'est ce que j'ai fait. J'ai porté mon appli de stat de JPGraph sur Artichow et ça marche nickel ;)

n°1499446
Alisteroid
Posté le 05-01-2007 à 17:05:20  profilanswer
 

Je savais même pas que c'était payant :/
 
J'ai jamais eu à faire de graphes auparavent donc j'en chie un peu la :D

mood
Publicité
Posté le 05-01-2007 à 17:05:20  profilanswer
 

n°1499453
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 17:14:28  profilanswer
 

Attention, si vous utilisez JPGraph dans le cadre professionnel, faut payer une licence à l'auteur!  :o  
Les 2 libs sont pas très dures à maîtriser pour faire des graphs simples vu qu'il y a pas mal de doc et d'exemples. Dans le répertoire /doc/ de JPGRaph, y'a tout ce qu'il faut : description des classes et de leurs fonctions et tout plein d'ex de mise en oeuvre avec le code source ;)
 
Après, pour passer à artichow, on n'est pas très dépaysée, c'est les mêmes fonctions au nom près...

Message cité 1 fois
Message édité par rufo le 05-01-2007 à 17:15:13
n°1499454
Alisteroid
Posté le 05-01-2007 à 17:17:46  profilanswer
 

rufo a écrit :

Attention, si vous utilisez JPGraph dans le cadre professionnel, faut payer une licence à l'auteur!   :o  
Les 2 libs sont pas très dures à maîtriser pour faire des graphs simples vu qu'il y a pas mal de doc et d'exemples. Dans le répertoire /doc/ de JPGRaph, y'a tout ce qu'il faut : description des classes et de leurs fonctions et tout plein d'ex de mise en oeuvre avec le code source  ;)

 

Après, pour passer à artichow, on n'est pas très dépaysée, c'est les mêmes fonctions au nom près...

 


Pour la license, c'est pas moi qui m'occupe de ça, je suis prestataire, c'est à la banque de regler ces affaires :D.

 


n°1499456
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 17:27:19  profilanswer
 

pourquoi je sens que ça va passer à la trape...

n°1499476
Alisteroid
Posté le 05-01-2007 à 17:53:10  profilanswer
 

:??: tu parles du paiement de la license?

n°1499480
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 17:59:17  profilanswer
 

Alisteroid a écrit :

:??: tu parles du paiement de la license?


oui...

n°1499517
Alisteroid
Posté le 05-01-2007 à 19:11:25  profilanswer
 

Que veux tu que je fasse :??:  
Je travaille pour une SSII, je vais pas aller gueuler sur le patron de la webteam de la banque pour leur dire de payer telle ou telle license!
 
Bref j'ai résolu tous mes problemes sauf le centrages des libellés des abscisses entre les graduations.
 
 
$graph->xaxis->SetTitle('Mois','middle');  pour centrer le titre de l'axe des x
 
$graph->yaxis->SetTitlemargin(60); pour ecarter le titre de l'axe Y, du libellé des ordonnées
 
 
 

n°1499520
Alisteroid
Posté le 05-01-2007 à 19:16:02  profilanswer
 

http://img401.imageshack.us/img401/7448/sanstitrerc1.jpg
Voila le resultat :D:

 

J'ai besoin encore d'un coup de main pour :

 

- Diminuer la taille des carrés dans la légende.
 - Décaller toutes les dates d'1/2 graduation vers la droite (la date doit etre au milieu de la graduation et non pile dessus..voir en rouge sur le screen)
 - Et c'est à peu pret tout :D

n°1499540
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 20:38:58  profilanswer
 

pour les carrés, si je me souviens bien, tu peux utiliser un image à toi à la place de celle par défaut pour faire les marques.
 
Pour les graduations au milieu, je crois pas que ce soit possible (en tout cas pas dans la version que j'utilise, la 1.12.2).
 
Et pour le coup de la licence, ça relève de ton devoir d'information en tant que professionnel. Après, si ton client ne veut pas payer et se mettre dans l'illégalité, ça le regarde. Mais t'auras fait ton travail en les informant (ils savent peut-être pas que c'était payant). Moi, j'étais dans le même cas que toi. Comme mon patron était pour qu'on mette le soft que j'avais développé en GPL, on a convaincu le client d'utiliser une autre lib, Artichow...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme d'echelle, axes JpGraph (LinePlot)

 

Sujets relatifs
Problème de requête SQL - PHP - mysqlProbleme envoie de mails Java : courrier indésirable
Problème de div superposéesuivi de "Problème avec math.h"
Problème centrage et élargissement de page webprobleme de débutant - tracer un graph avec une macro
probleme internet explorer avec java script[TomCat/Axis] Problème avec les types complexes
[RESOLU] VBS : Problème de redéfinition de variableproblème d'affichage en c++
Plus de sujets relatifs à : Probleme d'echelle, axes JpGraph (LinePlot)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR