0

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

在此处输入图像描述

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

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

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

谢谢。

4

1 回答 1

1

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

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

在 else 块的末尾是一个 $this->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;
    }

我希望这对某人有帮助。

于 2011-09-08T06:52:12.610 回答