pChart 2.x图表使用小数而不是整数来绘制比例

时间:2011-04-15 10:03:37

标签: php pchart

我正在处理包含多次访问的统计数据,pChart上的比例显示小数而不是整数。

默认设置是创建分数,其分数类似于以下:

0  0.2  0.4  0.6  0.8  1.0  1.2
|===
|========
|============================
|===
|===================

这不起作用,因为你无法访问网站1.2次。

我试图仅使用"Mode"=>SCALE_MODE_MANUAL参数的整数(0,1,2等)进行缩放,但是我失败了。

如何设置或强制pChart使用轴上的整数进行绘图?

3 个答案:

答案 0 :(得分:2)

您最好调整数据,而不是图表,因为即使比例为1,您仍会看到显示1.2的条形图。

如果您仍在尝试修复轴边界,则设置轴边界,并使用最小div高度值,可以更好地控制轴。

$AxisBoundaries = array(0=>array("Min"=>0,"Max"=>16));
$myPicture->drawScale(array("MinDivHeight"=>50, "CycleBackground"=>TRUE,"DrawSubTicks"=>FALSE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>30,"Pos"=>SCALE_POS_TOPBOTTOM,"Mode"=>SCALE_MODE_MANUAL, "ManualScale"=>$AxisBoundaries, "ScaleSpacing"=>100)); //

另一种略显狡猾的方法是在调用drawScale函数之前创建一个包含整数的数据集,然后将其删除,并添加实际数据。

答案 1 :(得分:2)

我做了一些事情来实现这一点,首先我设置了一个固定的刻度,最小和最大。

$scaleConfig = array("Min"=>1,"Max"=>100); //set explicit scale size

然后当我使用drawScale()方法时,我将Factor属性设置为1:

$pImage->drawScale(array('Mode'=>SCALE_MODE_MANUAL,'Factors'=>array(1),'ManualScale'=>$scaleConfig,'DrawSubTicks' => false));

答案 2 :(得分:0)

如果你设置"因素" => array(10000)在drawScale函数中,pChart显示整数(1,2)。我自己找到了解决方案。