0

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

默认设置是使用类似于以下的分数创建比例:

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

这不起作用,因为您不能访问一个站点 1.2 次。

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

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

4

3 回答 3

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));
于 2011-08-15T16:12:00.447 回答
2

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

如果您仍在尝试修复轴边界,则设置轴边界并使用最小 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 函数之前创建一个包含整数的数据集,然后将其删除,并添加您的实际数据。

于 2011-07-19T05:49:01.683 回答
1

如果在 drawScale 函数中设置“因子”=> 数组(10000),则 pChart 将显示整数(1、2)。我自己找到了解决方案。

于 2014-07-17T11:12:57.603 回答