JPGraph底部边缘与Legend开/关

时间:2011-07-26 06:07:20

标签: php margin legend jpgraph

我在JPGraph.net上遇到PHP Graphing库的问题。 我有一个非常简单的LinePlot(),如果我在图形中添加一个图例,图形的下边距可以延伸大约10个像素。使图表图例Show()或Hide()没有任何区别,在图例与线图关联后立即将底部边距添加到图表中。

是否有任何解决方案可以关闭此行为?因为我生成缩略图大小图(例如180x100),所以底部边缘白色区域非常“大”。

为了更好地理解:

左:添加图例之前的起点

右:添加图例后,图表的边距/代码没有其他更改

哎呀我没有足够的声望发布图片:(

left_good right_bad

4 个答案:

答案 0 :(得分:13)

此问题的解决方案是添加:

$ graph-> graph_theme = NULL;

就在:

之前

$ graph->冲程();

祝你好运!

答案 1 :(得分:0)

请记住,图例或多或少独立于图表本身,它可以放在任何地方。

在大多数情况下,图表本身的边距可以使用...

进行修改
Graph::SetMargin($left_m, $right_m, $top_m, $bottom_m)

...(以像素为单位的边距)在您的代码中可能如下所示:

$graph = new Graph(180,100);    
$graph->SetMargin(10,20,30,40);

/* followed by alot more code for your graph until... */
$graph->Stroke();

我建议查看JPGraph包中包含的大量文档,这些类已有详细记录,并提供了大量如何使用它的示例。

答案 2 :(得分:0)

我可以同意Bjorn的$ graph-> SetMargin(lMargin,rMargin,tMargin,bMargin);是要走的路。但是,在我的线图设置中,底部边距似乎没有任何效果。知道有一个页脚,就像传说一样,填充这个 - 或者不是 - 也对底部边缘没有影响。如果你偶然发现这样的事情我会非常感激你知道如何解决它。

祝你好运, ç

答案 3 :(得分:0)

此边距在第35行的jpgraph_legend.inc.php中设置。

private $ybottom_margin = 8;

这个值不能通过方法改变,它是一个硬编码的边距,你只能在那里改变。

但是你可以为图例类添加一个新方法:

function SetYBottomMargin($aYMarg) {
    $this->ybottom_margin = $aYMarg;
}

将其称为 $ graph-> legend-> SetYBottomMargin(0); ,将下边距设置为0.