IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[JpGraph] DisplayValue::SetAlign n'a pas d'effet.


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 91
    Points
    91
    Par défaut [JpGraph] DisplayValue::SetAlign n'a pas d'effet.
    Bonjour à tous,

    J'ai découvert jpgraph il y a environ trois semaines et je le trouve très puissant.
    Néanmoins, il reste quelque "bugs" qui rendent son utilisation contre-intuitive.

    J'ai un AccBarPlot qui contient n BarPlot.
    Chaque BarPlot affiche sa valeur centrée verticalement et horizontalement.

    Quand deux valeurs petites (par rapport aux total des valeurs) sont l'une au dessus de l'autre, les chiffres se chevauchent.

    Ce que j'aimerais faire, c'est qu'un BarPlot sur deux, la valeur soit alignée à gauche horizontalement, à droite pour les autres.

    Seulement, j'ai beau setter l'alignement des values des BarPlot, aucun effet.

    Voilà mon code :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    $data = end($datas);
    $name = key($datas);
    while($data)
    {
    	$bplot = new BarPlot($data);
    	$bplot->SetLegend(formated_legend($name, $typeaggregate));
    	$bplot->SetCSIMTargets($targs[$name],$alts[$name]);
    	$bplots[] = $bplot;
     
    	$data = prev($datas);
    	$name = key($datas);
    }
     
    $gbarplot = new AccBarPlot($bplots);
    $gbarplot->SetWidth(0.6);
    $gbarplot->SetValuePos('top');
    $gbarplot->value->SetFont(FF_ARIAL,FS_BOLD); 
    $gbarplot->value->SetColor("red","darkred");
    $gbarplot->value->SetFormat('%d');
    $gbarplot->value->SetAngle(34);
    $gbarplot->value->Show();
     
    $graph->Add($gbarplot);
     
    krsort($datas);
    $names = array_keys($datas);
     
    $oColor = new Color();
    $odd = true;
    foreach($bplots as $i => $bplot)
    {
    	$oColor->hashColor($names[$i], 2);
    	$color = "#".$oColor->toHexa();
    	$textcolor = ($oColor->isDark())?"white":"black";
     
    	$bplots[$i]->SetColor($color);
    	$bplots[$i]->SetFillColor($color);
     
    	$bplots[$i]->SetValuePos('center');
    	$bplots[$i]->value->SetFont(FF_ARIAL,FS_BOLD); 
    	$bplots[$i]->value->SetColor($textcolor);
    	/* NE FONCTIONNE PAS !
    	$halign = ($odd)?'left':'right';
    	$bplots[$i]->value->SetAlign($halign);*/
    	$bplots[$i]->value->SetFormat("%d");
    	$bplots[$i]->value->Show();
     
    	$odd = !$odd;
    }
    La partie commentée n'a aucun effet. Avez-vous une idée ?

  2. #2
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 601
    Points : 889
    Points
    889
    Par défaut
    Bonjour.
    Après avoir un peu creusé la question, setAlign() est désactivé pour les AccBarPlot ... cf ligne 368 et suivantes dans jpgraph_bar.php
    mais tu peux réactiver la fonctionnalité en commentant la ligne 1144 dans jpgraph_bar.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->plots[$j]->value->SetAlign("center","center");
    et ajouter 'center' : value->SetAlign($halign,'center');
    Ça donne :


    Yves.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 91
    Points
    91
    Par défaut
    Ok, merci beaucoup, ça fonctionne bien !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/12/2008, 12h51
  2. Pas d'effet .hover sur un submit sous IE ?!
    Par lolymeupy dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/06/2008, 14h00
  3. [MooTools] Pas d'effets mootools IE6
    Par obitof dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 04/08/2007, 11h45
  4. [JpGraph] Courbe Jpgraph qui ne s'affiche pas
    Par genaro02 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/07/2007, 18h53
  5. [JTable] header renderer : pas d'effet
    Par Lady dans le forum Composants
    Réponses: 12
    Dernier message: 19/04/2007, 08h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo