Problèmes graphique

Résolu
Andréa -  
 Andréa -
Bonjour,

J'ai réalisé un graphique sous Artichow en ajoutant à l'histogramme une courbe droite permettant de visionner la moyenne des nombres.
Le problème c'est que maintenant que j'ai rajouté la courbe, le titre de l'abscisse et celui des ordonnées ne s'affichent plus ainsi que le nom de chaque région en abscisse :s

Un autre problème est celui d'afficher le chiffre de la moyenne à la fin de la courbe au lieu de le répéter sur chaque région :(

Voici mon code :

<?php
require_once "../../BarPlot.class.php";
require_once "../../LinePlot.class.php";

$graph = new Graph(500, 360);
$graph->title->set('Place de la région');
$graph->title->setFont(new Tuffy(12));

$group = new PlotGroup;

$x = array(1.79, 1.52, 1.3, 1.2, 1.18, 1.16, 1.06, 1, 0.99, 0.95, 0.94, 0.83, 0.8, 0.76, 0.74, 0.68, 0.6, 0.59, 0.49, 0.36, 0.35, 0.22);

$plot = new BarPlot($x);
$plot->setSize(1, 0.96);
$plot->setCenter(0.5, 0.52);

$group->add($plot);

$plot->yAxis->title->set("Nombre");
$plot->yAxis->title->setFont(new TuffyBold(10));
$plot->yAxis->title->move(-4, 0);
$plot->yAxis->setTitleAlignment(Label::TOP);

$plot->xAxis->title->set("Régions");
$plot->xAxis->title->setFont(new TuffyBold(10));
$plot->xAxis->setTitleAlignment(Label::RIGHT);

$y = array(
'Provence-Alpes-Côte-d Azur',
'Rhone-Alpes',
'Languedoc-Roussillon',
'Aquitaine',
'Franche-Comté',
'Auvergne',
'Limousin',
'Midi-Pyrénées',
'Alsace',
'Bourgogne',
'Corse',
'Champagne-Ardenne',
'Lorraine',
'Ile-De-France',
'Poitou-Charente',
'Picardie',
'Haute-Normandie',
'Centre',
'Nord-Pas-De-Calais',
'Pays-De-La-Loire',
'Basse-Normandie',
'Bretagne'
);

$plot->xAxis->setLabelText($y);
$plot->xAxis->label->setFont(new TuffyBold(7));

$plot->setBarColor(
new VeryLightPurple(25)
);

$plot->label->set($x);
$plot->label->move(0, -10);
$plot->label->setColor(new DarkBlue);

$x = array(0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927, 0.927);

$plot = new LinePlot($x);
$plot->setColor(new DarkBlue);
$plot->setThickness(2);
$plot->label->set($x);
$plot->label->move(16, 0);

$group->add($plot);

$graph->add($group);
$graph->draw();
?>


Est-ce que quelqu'un aurait une idée ?

Merci bien d'avance ;)

11 réponses

drantd Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   20
 
Bonjour,
En utilisant la méthode hideKey(int $key) on peut cacher les clé d'un graph :

$plot->label->set($x);

//hidekey permet de caché le label souhaité
for($i=0;$i<(count($x)-1);$i++){
	$plot->label->hidekey($i);
}

$plot->label->move(16, 0);
1
drantd Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   20
 
Pour ça il faut mettre les legendes sur la variable $group. ET puis en utilisant les methodes setAngle et setPadding on peut orienter et faire apparaitre la légende

<?php
require_once "Artichow/BarPlot.class.php";
require_once "Artichow/LinePlot.class.php";

$graph = new Graph(500, 360);
$graph->title->set('Place de la région');
$graph->title->setFont(new Tuffy(12));
$group = new PlotGroup;
$x = array(1.79, 1.52, 1.3, 1.2, 1.18, 1.16, 1.06, 1, 0.99, 0.95, 0.94, 0.83, 0.8, 0.76, 0.74, 0.68, 0.6, 0.59, 0.49, 0.36, 0.35, 0.22);

$plot = new BarPlot($x);
$plot->setSize(1, 0.96);
$plot->setCenter(0.5, 0.52);

$plot->setBarColor(
	new VeryLightPurple(25)
);
$plot->label->set($x);
$plot->label->move(0, -10);
$plot->label->setColor(new DarkBlue);

$group->add($plot);
$x = array(0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927,0.927);

$plot = new LinePlot($x);
$plot->setColor(new DarkBlue);
$plot->setThickness(2);
$plot->label->set($x);
// hidekey permet de caché le label souhaité
for($i=0;$i<(count($x)-1);$i++){
	$plot->label->hidekey($i);
}

$plot->label->move(16, 0);

	$y = array(
		'Provence-Alpes-Côte-d A',
		'Rhone-Alpes',
		'Languedoc-Roussillon',
		'Aquitaine',
		'Franche-Comté',
		'Auvergne',
		'Limousin',
		'Midi-Pyrénées',
		'Alsace',
		'Bourgogne',
		'Corse',
		'Champagne-Ardenne',
		'Lorraine',
		'Ile-De-France',
		'Poitou-Charente',
		'Picardie',
		'Haute-Normandie',
		'Centre',
		'Nord-Pas-De-Calais',
		'Pays-De-La-Loire',
		'Basse-Normandie',
		'Bretagne'
	);

	//Permet d'agrandir le fond du graph pour voir les légendes
	$group->setPadding(
		NULL, /* Gauche */
		NULL, /* Droite */
		NULL, /* Haut */
		120 /* Bas */
	); 
	$group->axis->bottom->setLabelText($y);
	//Oriente les legendes verticalement
	$group->axis->bottom->label->setAngle(90);
	$group->add($plot);
	$graph->add($group);
	$graph->draw();
?>
1
drantd Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   20
 
Encore une fois les axes étant commun aux 2 graphs il ne faut pas utiliser la variable $plot mais $group :
	$group->axis->bottom->title->set("Régions");
	$group->axis->bottom->title->move(235, -20);
	$group->axis->bottom->title->setAngle(90);
	$group->axis->left->title->set("Densité");
	$group->axis->left->title->move(25, -120);
	$group->axis->left->title->setAngle(0);


Tout ça on le retrouve sur le site artichow.org, en cherchant dans documentation on peut trouver les bonnes méthodes ou alors en regardant les exemples proposés.

Bon maintenant je vois pas ce qu'il pourrait y avoir de plus sur ce graphique... ;)
1
Andréa
 
Personne ne peut m'aider ? :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Andréa
 
S'il vous plaît c'est assez urgent :s
0
Andréa
 
HELP... :(
0
Andréa
 
Merci beaucoup :)

Saurais-tu comment faire pour que les titres de l'abscisse et de l'ordonnée s'affichent ? Ainsi que toutes les régions sur l'abscisse ??

Mercii ;)
0
drantd Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   20
 
Regardes sur ce forum si ça réponds a la question :
http://artichow.org/forum/read.php?2,4180
0
Andréa
 
J'ai testé et ça ne fonctionne pas :( merci pour le lien en tout cas ;)

Pour les titres ordonnée et abscisse j'ai fait ça :

$plot->yAxis->title->set("Densité");
$plot->yAxis->title->setFont(new TuffyBold(10));
$plot->yAxis->title->move(-4, 0);
$plot->yAxis->setTitleAlignment(Label::TOP);

$plot->xAxis->title->set("Régions");
$plot->xAxis->title->setFont(new TuffyBold(10));
$plot->xAxis->setTitleAlignment(Label::RIGHT);

Tout me paraît normal mais pourtant ils ne s'affichent pas :s
0
Andréa
 
Merciii beaucoup :)

Il me manque juste les 2 titres maintenant qui ne veulent toujours pas s'afficher :(

$plot->yAxis->title->set("Densité");
$plot->yAxis->title->setFont(new TuffyBold(10));
$plot->yAxis->title->move(-4, 0);
$plot->yAxis->setTitleAlignment(Label::TOP);

$plot->xAxis->title->set("Régions");
$plot->xAxis->title->setFont(new TuffyBold(10));
$plot->xAxis->setTitleAlignment(Label::RIGHT);

Si tu as une idée ;)
0
Andréa
 
Merci pour toute ton aide ;)

Oui c'est bon le graphique est parfait ! Merci pour tes conseils ;)
0