我正在使用 PChart for PHP 来绘制图表,它工作得非常好。
我绘制了一个强度图(2 =强,1 =中,0 =低),我想知道是否可以在 Y轴上显示数据描述 (强,中,低)而不是不合适的数字(2,1,0)。
(我搜索了很多但没有成功,理论上你只能根据http://pchart.sourceforge.net/documentation.php?topic=faq.xlabels设置X标签。)
谢谢!
答案 0 :(得分:10)
有一种分配Y格式的方法。目前有5种:数量,时间,日期,度量和货币。您可以使用函数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);
要添加自己的强度函数,在此位之后您需要添加:
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;
}
}