2016-05-31 2 views
0

jpgraph에서 두 가지 기능을 추가해야합니다. 1. 범례 선폭 증가 2. 범례에서 원을 제거하십시오.범례 선폭을 늘리고 범례에서 원을 제거하십시오.

범례의 선 두께를 설정할 수 있습니다. 범례에서 너비를 설정하고 원 표시를 제거 할 수는 없습니다. 그러나 선 그래프에 원 표시를 표시하려고합니다.

$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(); 

샘플 데이터와 그림 부착 ... enter image description here

감사 어떤 생각 .. 감사

답변

0

나는 그것이 불가능하다고 생각하지만, 원하는 결과를 얻을 수있는 해결 방법은을 추가하는 것입니다 귀하의 코드를 다음과 같이 수정하십시오 :

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

그리고 나서 jpgraph_legend.inc.php를 편집하십시오.

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

과 함께 교체 : 라인에 대한 봐 SetMarkAbsVSize가 0으로 설정되어있는 경우

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

지금 마크가 표시되지 않습니다.

선 너비는 항상 플롯의 선 너비와 같습니다.

관련 문제