Artichow : Forum Artichow !
Attribuer un objet a un label
Auteur: peofofo (IP enregistrée)
Date: le 28 juin 2010, 21:58

Bonjour à tous,

Je cherche une solution pour attribuer un label différent sur le même graphe suivant une condition :

En gros je cherche a supprimé ceci :
$plot->label->setBackgroundGradient(new LinearGradient(new Color(250, 250, 250, 10), new Color(100, 255, 150, 30), 0));

par :
BOUCLE{
$label[$i]->setBackgroundGradient(new LinearGradient(new Color(250, 250, 250, 10), new Color(100, 255, 150, 30), 0));
}

Afin d'attribuer suivant une condition le type d'affichage.

Malheureusement, ce code ne marche pas. Problème lié a l'objet :
Fatal error: Call to a member function setBackgroundGradient() on a non-object

Si vous avez des idées.

Salutations,

Re: Attribuer un objet a un label
Auteur: peofofo (IP enregistrée)
Date: le 29 juin 2010, 19:32

J'ai résolu mon problème, j'ai modifié la classe label.
Voir le résultat :


Le code :
<?php

require_once "../BarPlot.class.php";

$graph = new Graph(400, 400);
$graph->title->set('The title');
$graph->border->setStyle(Line::DASHED);
$graph->border->setColor(new DarkGray);

$values = array(1.2, 2.3, -15, 6, 12.5, 30, 50);
$t1=new LinearGradient(new Color(250, 250, 250, 10), new Color(255, 200, 200, 30), 0);
$t2=new LinearGradient(new Color(250, 250, 250, 10), new Color(100, 255, 150, 30), 0);
$label= array($t1, $t2, $t2, $t1, $t1, $t2, $t1);
$plot = new BarPlot($values, '', '', '');
$plot->setSize(1, 0.96);
$plot->setCenter(0.5, 0.52);

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

$plot->label->move(-20, -10);

$plot->label->setBackgroundGradient($label);
$plot->label->border->setColor(new Color(20, 20, 20, 20));
$plot->label->setPadding(3, 1, 1, 0);

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

$graph->add($plot);
$graph->draw();

?>



Seules les personnes enregistrées peuvent poster sur ce forum.