用PChart标记Y轴

Sor*_*ea2 1 php pchart

我正在使用PChart for PHP绘制图形,它工作得很好.

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

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

谢谢!

Cet*_*tra 10

有一种分配Y格式的方法.目前有5种:数量,时间,日期,度量和货币.您可以使用该函数在pData类中设置它SetYAxisFormat($Format)

你需要做的是修改你想要的是修改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);   
Run Code Online (Sandbox Code Playgroud)

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

   if ( $DataDescription["Format"]["Y"] == "intensity" )
    $Value = $this->ToIntensity($Value);
Run Code Online (Sandbox Code Playgroud)

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

function ToIntensity($Value)
    {

     switch($Value) {
       case 0:
       return "low";
       break;
       case 1:
       return "medium";
       break;
       case 2:
       return "strong";
       break;
     }
    }
Run Code Online (Sandbox Code Playgroud)