我在JPGraph.net上遇到PHP Graphing库的问题。 我有一个非常简单的LinePlot(),如果我在图形中添加一个图例,图形的下边距可以延伸大约10个像素。使图表图例Show()或Hide()没有任何区别,在图例与线图关联后立即将底部边距添加到图表中。
是否有任何解决方案可以关闭此行为?因为我生成缩略图大小图(例如180x100),所以底部边缘白色区域非常“大”。
为了更好地理解:
左:添加图例之前的起点
右:添加图例后,图表的边距/代码没有其他更改
哎呀我没有足够的声望发布图片:(
答案 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.