Probleme jpgraph

sabou94 Messages postés 158 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 17 avril 2007 - 2 févr. 2007 à 14:49
sabou94 Messages postés 158 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 17 avril 2007 - 3 févr. 2007 à 09:42
Hello tout le monde,
j'ai un petit probleme en jpgraph avec un diagramme de Gantt :
j'ai généré donc un diagramme avec jpgraph (et sa fonction CreateSimple) avec les données d'une base de données, ca marche nickel et tout.
MAIS! à la fin de chaque barre on retrouve un nom (tiré de ma base de données), il s'affiche bien mais si la barre arrive vers la fin de l'image, le nom est coupé! On en voit que quelques lettres! Et ce que j'aimerais donc, c'est peut etre faire que si le nom est trop long, il passe à la ligne? Je ne sais pas si c possible mais bon... Enfin bref, voila un bout du code qui m'interesse :
foreach ($tasksActiveGantt as $i=>$contenu)  {
   $dataA[$j]=array($j,ACTYPE_NORMAL,"   ".$tasksActiveGantt[$i]['task_title'],$tasksActiveGantt[$i]['beginning_date'],$tasksActiveGantt[$i]['deadline'],$tasksActiveGantt[$i]['requestor']); 
   $j++; 
  }
Merci d'avance si vous m'aidez!
sabrina

3 réponses

huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
2 févr. 2007 à 16:13
Je ne suis pas certain que ce soit possible de faire des retours à la ligne à ce niveau là.

En ce qui concerne ta question d'hier, voici un script générique qui devrait pouvoir t'aider :
Il contient :
- des contraintes entre les étapes d'un projet
- l'avancement des tâches
- les jours particuliers
- les jalons

Tout y est statique, mais maintenant tu sais faire ;-)
<?php

// Gantt example

include ("../jpgraph.php");

include ("../jpgraph_gantt.php");

//

// The data for the graphs

//

$data = array(

  array(0,ACTYPE_GROUP,    "Phase 1",        "2006-10-26","2006-11-24",''),

  array(1,ACTYPE_NORMAL,   "  Label 2",      "2006-10-26","2006-11-13",'[100%]'),

  array(2,ACTYPE_NORMAL,   "  Label 3",      "2006-11-14","2006-11-24",'[100%]'),

  array(3,ACTYPE_MILESTONE,"  Phase 1 Done", "2006-11-24",'M1'),

  array(4,ACTYPE_GROUP,    "Phase 2",        "2006-11-27","2006-12-29",''),

  array(5,ACTYPE_NORMAL,   "  Label 2",      "2006-11-27","2006-12-13",'[100%]'),

  array(6,ACTYPE_NORMAL,   "  Label 3",      "2006-11-27","2006-12-20",'[79%]'),

  array(7,ACTYPE_NORMAL,   "  Label 4",      "2006-12-20","2006-12-29",'[0%]'),

  array(8,ACTYPE_MILESTONE,"  Phase 2 Done", "2006-12-29",'M2'),

  array(9,ACTYPE_GROUP,    "Phase 3",        "2007-01-02","2007-01-22",''),

  array(10,ACTYPE_NORMAL,   "  Label 2",      "2007-01-02","2007-01-12",'[0%]'),

  array(11,ACTYPE_NORMAL,   "  Label 3",      "2007-01-15","2007-01-22",'[0%]'),

  array(12,ACTYPE_MILESTONE,"  Phase 3 Done", "2007-01-22",'M3') );

  // The constrains between the activities

$constrains = array(array(1,2,CONSTRAIN_ENDSTART),

            array(2,3,CONSTRAIN_ENDSTART),

            array(5,7,CONSTRAIN_ENDSTART),

            array(6,7,CONSTRAIN_ENDSTART),

            array(7,8,CONSTRAIN_ENDSTART));

$progress = array(array(1,1), array(2,1), array(5,1), array(6,0.79));

// Create the basic graph

$graph = new GanttGraph();

$graph->title->Set("Gantt Graph using CreateSimple()");

// Setup scale

$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY | GANTT_HWEEK);

$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);

//$graph->SetDateRange('2006-10-23','2007-01-28');

$vline  = new GanttVLine ("2006-12-25","Noël","red",3,"dotted");

$graph->Add($vline);

 $vline->SetDayOffset(0.5);

 $vline  = new GanttVLine ("2007-01-01","Jour de l'an","red",3,"dotted");

$graph->Add($vline);

 $vline->SetDayOffset(0.5);

// Add the specified activities

$graph->SetSimpleStyle(GANTT_SOLID,'blue@0.7','blue@0.7');

$graph->CreateSimple($data,$constrains,$progress);

 

// .. and stroke the graph

$graph->Stroke();

?>
0
huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
2 févr. 2007 à 16:17
En fait, en utilisant :
$graph->SetDateRange('2006-10-23','2007-01-28');
(et en modifiant les dates en fonction bien entendu)
tu pourras faire en sorte que le graph soit un peu plus grand que si l'échelle est automatique
et tu auras ainsi de la place pour le dernier nom.
0
sabou94 Messages postés 158 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 17 avril 2007
3 févr. 2007 à 09:42
Merci beaucoup, je vais essayer merci!

sabrina
0
Rejoignez-nous