Probleme d'echelle, axes JpGraph (LinePlot) - PHP - Programmation
Marsh Posté le 05-01-2007 à 14:32:01
J'ai reussi a corriger deux erreur :
J'arrive donc à ça :
Mes problèmes restants sont :
Marsh Posté le 05-01-2007 à 15:50:31
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/
Marsh Posté le 05-01-2007 à 16:15:31
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
Marsh Posté le 05-01-2007 à 16:33:12
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?
Marsh Posté le 05-01-2007 à 16:42:36
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
Marsh Posté le 05-01-2007 à 17:05:20
Je savais même pas que c'était payant
J'ai jamais eu à faire de graphes auparavent donc j'en chie un peu la
Marsh Posté le 05-01-2007 à 17:14:28
Attention, si vous utilisez JPGraph dans le cadre professionnel, faut payer une licence à l'auteur!
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...
Marsh Posté le 05-01-2007 à 17:17:46
rufo a écrit : Attention, si vous utilisez JPGraph dans le cadre professionnel, faut payer une licence à l'auteur! 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 .
Marsh Posté le 05-01-2007 à 17:59:17
ReplyMarsh Posté le 05-01-2007 à 19:11:25
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
Marsh Posté le 05-01-2007 à 19:16:02
Voila le resultat
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
Marsh Posté le 05-01-2007 à 20:38:58
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...
Marsh Posté le 05-01-2007 à 14:10:06
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 :
J'obtient cela:
Or 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é...)
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