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] Mettre en place la légende pour un histogramme groupé


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 39
    Points
    39
    Par défaut [JpGraph] Mettre en place la légende pour un histogramme groupé
    Bonjour à tous,


    Afin de finir mon graphique groupé, il ne me manque que très d'information à afficher que je ne trouve pas comment les faire...

    L'information qui me pose problème s'est la légende.

    Ci-dessous le code du graph:

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    <?php
    include ("../jpgraph/jpgraph.php");
    include ("../jpgraph/jpgraph_bar.php");
     
    define('MYSQL_HOST', 'localhost');
    define('MYSQL_USER', 'root');
    define('MYSQL_PASS', '');
    define('MYSQL_DATABASE', 'glpi');
     
    $tableaucategorie = array();
    $tableauouvert = array();
    $tableauresolu = array();
     
     
    // **********************************************
    // Extraction des données dans la base de données
    // *************************************************
     
    $sql ='SELECT  
    		name AS categorie,
    		COUNT(ID) AS ouvert,
    		COUNT(solvedate) AS resolu
    	FROM glpi_excel
    	WHERE YEAR(date) = 2012 AND MONTH(date) = 6
    	GROUP BY name
    	UNION
    	SELECT name AS categorie,0,0
    	FROM glpi_excel
    	WHERE name NOT IN ( SELECT DISTINCT name
    	FROM glpi_excel
    	WHERE YEAR(date) = 2012 AND MONTH(date) = 6)
    	ORDER BY categorie ASC';
     
     
     
    $mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
     
    @mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
     
    $mysqlQuery = @mysql_query($sql, $mysqlCnx) or die('Pb de requête');
     
    while ($row = mysql_fetch_array($mysqlQuery,  MYSQL_ASSOC)) {
    	$tableaucategorie[] = $row['categorie'];
    	$tableauouvert[] = $row['ouvert'];
    	$tableauresolu[] = $row['resolu'];
    }
     
    /*
    printf('<pre>%s</pre>', print_r($tableauAnnees,1));
    printf('<pre>%s</pre>', print_r($tableauNombreVentes,1));
    */
     
    // *******************
    // Création du graphique
    // *******************
     
     
    // Construction du conteneur
    // Spécification largeur et hauteur
    $graph = new Graph(1000,500);
     
    // Réprésentation linéaire
    $graph->SetScale("textlin");
     
    // Ajouter une ombre au conteneur
    //$graph->SetShadow();
     
    // Fixer les marges
    $graph->img->SetMargin(60,30,25,140);
     
    // Une ombre pour chaque barre
    //$bplot->SetShadow();
     
    // Chaque histogramme sera placé dans un tableau commun 
    $aGroupBarPlot = array();
    //Histo 1
    $bplot = new BarPlot($tableauouvert);
    $aGroupBarPlot[] = $bplot;
    //Histo 2
    $bplot2 = new BarPlot($tableauresolu);
    $aGroupBarPlot[] = $bplot2; 
     
    //Objet qui regroupe les histogrammes
    $gbarplot = new GroupBarPlot($aGroupBarPlot);
     
    // Fixer l'aspect de la police
    $bplot->value->SetFont(FF_ARIAL,FS_NORMAL,8);
    // Modifier le rendu de chaque valeur
    $bplot->value->SetFormat('%d');
     
    // Fixer l'aspect de la police
    $bplot2->value->SetFont(FF_ARIAL,FS_NORMAL,8);
    // Modifier le rendu de chaque valeur
    $bplot2->value->SetFormat('%d');
     
    // Spécification des couleurs des barres
    $bplot->SetFillColor('red');
    $bplot2->SetFillColor('green');
     
    // Couleur de l'ombre et du fond de la légende
    $graph->legend->SetShadow('darkgray@0.5');
    $graph->legend->SetFillColor('lightblue@0.3');
     
    // Légendes
    //bplot->SetLegends($tableauouvert);
    //$bplot2->SetLegends($tableauresolu);
     
    // Afficher les valeurs pour chaque barre
    $bplot->value->Show();
    $bplot2->value->Show();
     
    // Le titre
    $graph->title->Set("Nombre de tickets ouvert et résolus");
    $graph->title->SetFont(FF_FONT1,FS_BOLD);
     
    // Titre pour l'axe horizontal(axe x) et vertical (axe y)
    //$graph->xaxis->title->Set("Années");
    //$graph->yaxis->title->Set("Nombre de ventes");
     
    $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
     
    // Légende pour l'axe horizontal
    $graph->xaxis->SetTickLabels($tableaucategorie);
    $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8); 
    $graph->xaxis->SetLabelAngle(50);
     
    // Ajouter au graphique les 2 histos
    $graph->Add($gbarplot);
     
    // Afficher le graphique
    $graph->Stroke();
     
    ?>
    Merci d'avance à ceux qui se pencheront sur mon problème.

    Cordialement,

  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.
    Plus d'une semaine sans réponse ... il me semble que tu pourrais essayer d'être plus clair pour expliquer ton problème

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 39
    Points
    39
    Par défaut
    Oui,c'est vrai.
    Alors mon problème n'a pas l'air compliqué mais c'est un peu difficile à expliquer.

    Actuellement le code que j'ai mis à disposition permet d'afficher des histogrammes groupés.
    Un histogramme qui désigne les incidents ouverts et l'autre qui indique les incidents résolus.
    Mon problème est l'affichage de la légende donc vers pour ticket résolu et rouge pour tickets ouverts.
    Dans le tuto fait pas Eric Pommereau, j'ai pu identifié la partie qui fait apparaitre la légende mais je n'arrive pas à la mettre en place pour moi.
    Donc si quelqu'un pouvait m'aider ou me donner une piste ça m'aiderait beaucoup.

    Cordialement,
    Images attachées Images attachées  

  4. #4
    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
    Salut.
    Tu as la réponse en ligne : http://jpgraph.net/download/manuals/...PLOT_SETLEGEND
    Ca devrait donner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Légendes
    $bplot->SetLegend("ticket ouvert");
    $bplot2->SetLegend("ticket résolu");
    Tu peux positionner précisément ta légende avec SetPos : http://jpgraph.net/download/manuals/..._LEGEND_SETPOS

    Yves

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 39
    Points
    39
    Par défaut
    Ah oui,punaise c'était tout couillon j'ai honte d'avoir posé la question...
    Merci beaucoup Yves.(Merci pour les liens aussi)

    Cordialement,

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/01/2017, 08h45
  2. [OL-2013] Mettre en place des règles pour une boite email commune
    Par Djohn dans le forum Outlook
    Réponses: 5
    Dernier message: 18/04/2016, 13h53
  3. Réponses: 0
    Dernier message: 03/05/2013, 09h26
  4. Réponses: 0
    Dernier message: 09/10/2008, 14h45
  5. [JpGraph] modifier taille Légende pour les axes pour un histogramme
    Par blopjerem dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 01/02/2008, 22h19

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