2016-05-31 4 views
0

Ich muss zwei Funktionen in JPG hinzufügen. 1. Incresing Legende Linienbreite 2. Kreis in der Legende entfernenzunehmende Legende Linienbreite und entfernen Kreis in der Legende

Ich kann die Linienstärke der Legende festlegen. aber nicht in der Lage, die Breite einzustellen und die Kreismarke in der Legende zu entfernen. Aber ich möchte die Kreismarke im Liniendiagramm anzeigen.

$datay1 = array(20,15,23,15); 

// Setup the graph 
$graph = new Graph(300,250); 
$graph->SetScale("textlin"); 
$graph->title->Set('Filled Y-grid'); 
$graph->SetBox(false); 
$graph->yaxis->HideZeroLabel(); 
$graph->yaxis->HideLine(false); 
$graph->yaxis->HideTicks(false,false); 
$graph->xgrid->Show(); 
$graph->xgrid->SetLineStyle("solid"); 
$graph->xaxis->SetTickLabels(array('A','B','C','D')); 
$graph->xgrid->SetColor('#E3E3E3'); 

// Create the first line 
$p1 = new LinePlot($datay1); 
$graph->Add($p1); 
$p1->SetColor("red"); 
$p1->SetWeight(2); 
$p1->SetLegend('Line 1'); 
$p1->mark->SetType(MARK_FILLEDCIRCLE); 
$p1->mark->SetFillColor('#FFFFFF'); 
$graph->legend->SetFrameWeight(0); 
$graph->legend->SetLineWeight(3); 
$graph->legend->SetPos(0.03,0.87,'left','bottom'); 

// Output line 
$graph->Stroke(); 

Beispieldaten und pic gebunden sind ... enter image description here

eine Idee geschätzt .. Danke

Antwort

0

Ich denke, es ist nicht möglich, aber eine Behelfslösung das gewünschte Ergebnis zu erhalten, ist das hinzufügen Folgen Sie Ihrem Code:

$graph->legend->SetMarkAbsVSize(0); 

Und dann bearbeiten Sie die jpgraph_legend.inc.php. Achten Sie auf die Linien:

$p[2]->Stroke($aImg,$x1,$marky); 

und ersetzen sie durch:

if ($this->mark_abs_vsize !=0) $p[2]->Stroke($aImg,$x1,$marky); 

nun die Noten werden nicht angezeigt, wenn die SetMarkAbsVSize auf Null gesetzt wird.

Die Linienbreite ist immer die gleiche wie die Linienbreite im Diagramm.