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] Ne pas afficher toutes le valeurs des abscisses


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 219
    Points : 61
    Points
    61
    Par défaut [JpGraph] Ne pas afficher toutes le valeurs des abscisses
    Bonjour, J'ai un graphique jpgraph avec des dates en abscisse. Mais je ne voudrais pas toutes qu'elles apparaissent. J'en voudrais au moins une sur deux.
    Comment faire?
    Voici mon code qui fait le graphique:
    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
    <?php $tab=array(); 
    foreach($tableau as $value) { 
     foreach($value as $k=>$v) {  
    $tab[$k][]=$v; } }  
    ?>
    <?php
    include ("jpgraph-1.21b/src/jpgraph.php");
    include ("jpgraph-1.21b/src/jpgraph_line.php");
    setlocale (LC_ALL, 'et_EE.ISO-8859-1');
     
    $data1y=$tab[1];
    $data2y=$tab[2];
     
    // Create the graph. These two calls are always required
    $graph = new Graph(800,400,"auto");    
    $graph->SetScale("textlin");
    $graph->SetShadow();
    $graph->img->SetMargin(60,170,60,60);
     
    // Create the bar plots
    $b1plot = new LinePlot($data1y);
    $b1plot->SetLegend("Totals apports");
    $b1plot->SetColor("darkorange1");
    $b2plot = new LinePlot($data2y);
    $b2plot->SetColor("blue");
    $b2plot->SetLegend("Totals sorties");
     
    $graph->Add($b1plot);
    $graph->Add($b2plot);
     
    $graph->SetBackgroundGradient('#9999FF','white',GRAD_HOR,BGRAD_MARGIN);
     
    $graph->legend->Pos(0.03,0.5,"right","center");
    $graph->legend->SetFont(FF_FONT1,FS_BOLD);
     
    $datax=$tab[0];
    $graph->xaxis->SetTickLabels($datax);
    $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
    $graph->xaxis->SetLabelAngle(45);
     
    $graph->title->Set("Evolution des flux quotidiens
     Ecopêche Campagne 2006");
    $graph->title->SetFont(FF_VERDANA,FS_BOLD);
    $graph->yaxis->title->SetFont(FF_VERDANA,FS_BOLD);
    $graph->yaxis->SetTitle('Tonnes','center','left');
    $graph->yaxis->SetTitlemargin(40);
     
    // Display the graph
    $graph->Stroke("graph.png");
    echo "<img src='graph.png' />";
    ?>

  2. #2
    Membre habitué Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Points : 196
    Points
    196
    Par défaut
    j'ai pas trop regardé ton code mais voici une piste :
    si tu ne veux afficher qu'une fois sur deux, regarde du coté des modulos.
    tu incrémentes un compteur à chaque nouvelle abscisse que tu n'affiches que si le reste de la division de ton compteur te retourne zéro.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (($i % 2) == 0)
     echo $monAbscisse;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 219
    Points : 61
    Points
    61
    Par défaut
    Ouai j'ai déjà essayé ça mais ça ne marche pas...

  4. #4
    Membre habitué Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Points : 196
    Points
    196
    Par défaut
    si ça ne marche pas, c'est que tu l'as mal fait...
    pour test, copie/colle ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for($i=0;$i<=15;$i++)
    {
    if (($i % 2) == 0)
    echo $i." coucou<br>";
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 219
    Points : 61
    Points
    61
    Par défaut
    EUh en fait je viens de trouver encore plus simplement:
    $graph->xaxis->SetTextLabelInterval(2);

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/10/2011, 09h07
  2. [PHP 5.2] [POO] Afficher toutes les valeurs de mes attributs
    Par pierrot10 dans le forum Langage
    Réponses: 2
    Dernier message: 15/02/2010, 23h04
  3. [XL-2000] Chart - forcer l'axe des abscisses à afficher toutes les valeurs
    Par jax54000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2010, 07h55
  4. [Tableaux] Ne pas afficher tout le résultat de Shuffle
    Par Gunner4902 dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2008, 23h33
  5. Jtable : ne pas afficher toute les colonnes
    Par ericT dans le forum Composants
    Réponses: 3
    Dernier message: 02/08/2006, 11h54

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