PHP pchart 2.0与每个栏对齐的附加标签

时间:2011-08-15 16:00:55

标签: php pchart

您好我有一个pChart 2条形图,其中包含可变数量的条形图以及每个条形图的实际值,我希望在每个条形图的右侧显示2个附加值。请考虑下面的图像,矩形中的值是我需要添加到图表中的数字的示例。

enter image description here

显然我想让他们看起来比这更整洁但是我现在只是想知道

在pChart中执行此操作的正确方法是什么?
是否有内置的方式来执行这种装饰? 如果没有,我应该如何最好地将我的附加输出与图表中的每个条对齐,考虑到这些条的像素大小和数据大小是可变的(即,这必须计算得不是单个场景的近似值)。

为了清楚起见,额外的数字与前几年的数字相同,并且会以彩色边框或类似方式装饰,并包含在图例中。

感谢。

1 个答案:

答案 0 :(得分:1)

在文件pDraw.class.php的drawBarChart()方法中,该方法结束时有以下条件:

if ($DisplayPos == LABEL_POS_INSIDE && abs($TxtWidth) < abs($BarWidth)){
...
else{

在else块的末尾是$ this-&gt; drawText()方法,它输出条形结尾的值,并为系列中的每个条形调用。此时,您还可以使用以下内容将其他值写入图表的末尾(在本例中为右边距):

$itemGap = 45;  //the space between items
$items = array(1,2,3); //the value to draw


    $colStart = $this->GraphAreaX2 + $itemGap;

    foreach($itemGap as $item)
    {
         $this->drawText($colStart, $Y + $YOffset + $YSize / 2, $item, array("R" => $DisplayR, "G" => $DisplayG, "B" => $DisplayB, "Align" => $Align, "FontSize"  => $DisplaySize));
         $colStart += $itemGap;
    }

我希望这对某人有帮助。