2011-08-08 12 views
7

Po prostu zaczynam od jpgraph i XAMPP. Szukałem plamy. Kiedy czytałem niektóre artykuły w sieci, powiedziałem, że możesz przekazać w tablicy kolorów, aby ustawić kolor, aby każdy pasek był innego koloru. Jednak za każdym razem, gdy przekażę kolor, wykres nie zmieni się z domyślnego koloru jasnoniebieskiego.Jpgraph nie zmienia kolorów na mojej plamie

Wykres reaguje na zmiany w danych, ale nie zmienia koloru. Próbowałem z nagromadzonym przykładem wykresu słupkowego, który wydaje się reagować na kolory.

Nie jestem pewien, jak zdiagnozować taki problem. Prosimy o pomoc!

kodu poniżej (przykład z dokumentów Jpgraph z kolor zmienił się z pomarańczowego na # B0C4DE [pomarańczowy z oryginalnego przykładu, nie pojawiają się]):

<?php // content="text/plain; charset=utf-8" 
require_once(dirname(__FILE__)."\lib\jpgraph-3.5.0b1\src\jpgraph.php"); 
require_once(dirname(__FILE__)."\lib\jpgraph-3.5.0b1\src\jpgraph_line.php"); 
require_once(dirname(__FILE__)."\lib\jpgraph-3.5.0b1\src\jpgraph_bar.php"); 

$datay=array(2,3,5,25,15,6,3); 
$datax=array('Jan','Feb','Mar','Apr','May','Jun','Jul'); 

// Size of graph 
$width=400; 
$height=500; 

// Set the basic parameters of the graph 
$graph = new Graph($width,$height,'auto'); 
$graph->SetScale('textlin'); 

// Rotate graph 90 degrees and set margin 
$graph->Set90AndMargin(50,20,50,30); 

// Nice shadow 
$graph->SetShadow(); 

// Setup title 
$graph->title->Set('Horizontal bar graph ex 1'); 
$graph->title->SetFont(FF_VERDANA,FS_BOLD,14); 

// Setup X-axis 
$graph->xaxis->SetTickLabels($datax); 
$graph->xaxis->SetFont(FF_VERDANA,FS_NORMAL,12); 

// Some extra margin looks nicer 
$graph->xaxis->SetLabelMargin(10); 

// Label align for X-axis 
$graph->xaxis->SetLabelAlign('right','center'); 

// Add some grace to y-axis so the bars doesn't go 
// all the way to the end of the plot area 
$graph->yaxis->scale->SetGrace(20); 

// We don't want to display Y-axis 
$graph->yaxis->Hide(); 

// Now create a bar pot 
$bplot = new BarPlot($datay); 

$bplot->SetFillColor("#B0C4DE"); 
// ALSO tried: 
// $bplot->SetColor(array("red","green","blue","gray")); 
$bplot->SetShadow(); 

//You can change the width of the bars if you like 
//$bplot->SetWidth(0.5); 

// We want to display the value of each bar at the top 
$bplot->value->Show(); 
$bplot->value->SetFont(FF_ARIAL,FS_BOLD,12); 
$bplot->value->SetAlign('left','center'); 
$bplot->value->SetColor('black','darkred'); 
$bplot->value->SetFormat('%.1f mkr'); 

// Add the bar to the graph 
$graph->Add($bplot); 

// .. and stroke the graph 
$graph->Stroke(); 
?> 
+0

mam ten sam problem. Nic nie dotyczy formatowania prętów (wartość, kolor, ...). ale to jest w porządku z wykresami liniowymi –

Odpowiedz

18

że ten sam problem, że rozwiązanie znaleziono jest zdefiniowanie klasy formatowanie po inicjalizacji BarPlot

$bplot = new BarPlot($datay); 
$graph->Add($bplot); 
$bplot->value->Show(); 
$bplot->value->SetFont(FF_ARIAL,FS_BOLD,12); 
$bplot->value->SetAlign('left','center'); 
$bplot->value->SetColor('black','darkred'); 
$bplot->value->SetFormat('%.1f mkr'); 

Rozwiązanie znaleziono here

+0

Miałem ten sam problem z klasą LinePlot, wydaje się, że rozwiązuje to również dla tej klasy. – davidk

+0

Czy istnieje sposób na ustawienie koloru nie tylko wartości, ale także samego paska. Czy te negatywne paski mają inny kolor niż pozytywne? –

4

Mam ten sam problem, a to jest moje rozwiązanie: wystarczy dodać "ClearTheme()", tak:

 $graph = new Graph(310,200); 
    $graph->ClearTheme();  
Powiązane problemy