Autor Zpráva
vecerapl
Profil
Hledám na internetu PHP kód na vytváření grafů, přesně pak na vytvoření BAR grafu, kde bych si pro svou meteorologickou stanici chtěl zobrazit maximální teploty za měsíc po dnech, tj. 30 sloupců.
http://pchart.sourceforge.net/documentation.php?topic=exemple13
Tento graf je sice vypsán se třemi sloupci, ale není problém umazat a nechat jen jeden. ... Můj problém je v tom, že nevím jak udělat pro jednotlivé dny vždy jinou barvu daného BAR sloupce.

Můj záměr je takový, že bych si chtěl obarvovat sloupce barevně dle určitých dosažených teplotních hodnot.
Nevíte, jakým scriptem bych docílil možnost vkládání barev BAR sloupců?
Tori
Profil
vecerapl:
Dalo by se nadefinovat si vlastní paletu barev jako pole, kde klíč je teplota a hodnota je pole (RGB), a pak cyklem přidávat jednotlivé teploty a každé nastavit odpovídající barvu. Nějak takhle:

function najdiBarvu($teplota) {
  // barevná stupnice. použité barvy jsou převzaté z modelu Aladin
  static $paleta = array('-20'=>array(102,102,204), ... '24'=>array(153,0,0), '25'=>array(153,0,0), '26'=>array(153,51,102), ...);
  return isset($paleta[$teplota]) ? $paleta[$teplota] : array(0,0,0);
}

$teploty = array(20,21,20,20,18,10,10,12,10,15,23,25,25,24,24);

$dataset = new pData;
$graf = new pChart(700, 230);
foreach ($teploty as $i=>$value) {
  $dataset->AddPoint($value, $i);
  $tmp = najdiBarvu($value);
  $graf->setColorPalette($i, $tmp[0], $tmp[1], $tmp[2]);
} 
$dataset->AddAllSeries();
// ...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0