Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > JpGraph
JpGraph Forum d'entraide pour la bibliothèque JpGraph permettant de manipuler des images en PHP. Avant de poster -> tutoriels JpGraph
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/04/2007, 10h04   #1
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 219
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 219
Points : 32
Points : 32
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 :
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' />";
?>
coco38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 10h18   #2
Membre actif
 
Avatar de Azazel.fr
 
Inscription : mars 2007
Messages : 170
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 170
Points : 177
Points : 177
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 :
1
2
if (($i % 2) == 0)
 echo $monAbscisse;
Azazel.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 10h20   #3
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 219
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 219
Points : 32
Points : 32
Ouai j'ai déjà essayé ça mais ça ne marche pas...
coco38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 10h23   #4
Membre actif
 
Avatar de Azazel.fr
 
Inscription : mars 2007
Messages : 170
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 170
Points : 177
Points : 177
si ça ne marche pas, c'est que tu l'as mal fait...
pour test, copie/colle ce code :
Code :
1
2
3
4
5
for($i=0;$i<=15;$i++)
{
if (($i % 2) == 0)
echo $i." coucou<br>";
}
Azazel.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 10h25   #5
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 219
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 219
Points : 32
Points : 32
EUh en fait je viens de trouver encore plus simplement:
$graph->xaxis->SetTextLabelInterval(2);
coco38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h56.


 
 
 
 
Partenaires

Hébergement Web