增加图例线宽并删除图例中的圆圈

时间:2016-05-31 13:57:52

标签: jpgraph

我必须在jpgraph中添加两个函数。 1.增加传奇线宽 2.删除图例中的圆圈

我可以设置Legend的线宽。但无法设置宽度并删除图例中的圆圈标记。但是想在折线图中显示圆圈标记。

$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

任何想法都赞赏..谢谢

1 个答案:

答案 0 :(得分:0)

我认为这是不可能的,但是获得所需结果的解决方法是在代码中添加以下内容:

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

然后编辑jpgraph_legend.inc.php。寻找线:

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

并将其替换为:

class ProfilerService {

    $this->profiler;

    function __construct(ProfilerInterface $profiler) {
            $this->profiler = profiler;
    }
}

现在,如果将SetMarkAbsVSize设置为零,则不会出现标记。

线宽始终与图中的线宽相同。