用PChart标记Y轴

时间:2010-03-20 22:08:20

标签: php pchart

我正在使用 PChart for PHP 来绘制图表,它工作得非常好。

我绘制了一个强度图(2 =强,1 =中,0 =低),我想知道是否可以在 Y轴上显示数据描述 (强,中,低)而不是不合适的数字(2,1,0)。

(我搜索了很多但没有成功,理论上你只能根据http://pchart.sourceforge.net/documentation.php?topic=faq.xlabels设置X标签。)

谢谢!

1 个答案:

答案 0 :(得分:10)

有一种分配Y格式的方法。目前有5种:数量,时间,日期,度量和货币。您可以使用函数SetYAxisFormat($Format)

在pData类中设置它

要实现您想要的功能,您需要做的是修改pChart.class文件并包含您自己的格式化程序函数。

pChart.class文件的各个位置,有以下代码部分:

   if ( $DataDescription["Format"]["Y"] == "number" )

    $Value = $Value.$DataDescription["Unit"]["Y"];

   if ( $DataDescription["Format"]["Y"] == "time" )

    $Value = $this->ToTime($Value);        

   if ( $DataDescription["Format"]["Y"] == "date" )

    $Value = $this->ToDate($Value);        

   if ( $DataDescription["Format"]["Y"] == "metric" )

    $Value = $this->ToMetric($Value);        

   if ( $DataDescription["Format"]["Y"] == "currency" )

    $Value = $this->ToCurrency($Value);   

要添加自己的强度函数,在此位之后您需要添加:

   if ( $DataDescription["Format"]["Y"] == "intensity" )
    $Value = $this->ToIntensity($Value);

然后你需要在类中添加自己的ToIntensity($Value)函数:

function ToIntensity($Value)
    {

     switch($Value) {
       case 0:
       return "low";
       break;
       case 1:
       return "medium";
       break;
       case 2:
       return "strong";
       break;
     }
    }