PHP图表库pChart-V2的使用笔记

分类:代码, 博客 标签:

最近想使用PHP绘制水文水位过程线图表,发现pChart还不错,目前它的版本已经更新到V2了,与原来V1的使用方法有许多调整,因此在网上搜索到的其它一些文章描述的多是V1时候的了,使用过程中遇到的一些小问题,将直觉的解决方案笔记如下。

1. pChart图表的路径问题

这个放置到正确的目录下面即可。

2. pChart如何输出中文

首先是需要使用合适的字体,

$myPicture->setFontProperties(
array(“FontName”=>”../fonts/MSYH.TTF”,”FontSize”=>11));

带中文的字体文件可以在系统目录中复制过来。

其次是PHP源文件使用正确的编码,我在里面直接使用了utf-8编码,经过这两步,PHP源文件中的中文已经可以正常绘制。

3. 数据库中的汉字显示为乱码

还是编码问题,数据库里面的文字如果使用的不是utf-8编码便会导致显示为乱码的故障,采用mb_convert_encoding($S, ‘utf-8′,’gbk’)即可,当然不同的编码要采用对应的。

4. pChart坐标如何输出时间格式

$MyData->setXAxisDisplay(AXIS_FORMAT_TIME,”H:i”);

5. pChart绘制数据系列标签,这个与原来V1中的明显不一样了

$myPicture->drawSplineChart(
array(“DisplayValues”=>TRUE,
“DisplayColor”=>DISPLAY_AUTO,
“BreakVoid”=>FALSE));

6. SQL-Server中的时间转到PHP不正常的解决方法

在SQL语句中使用convert(char,TM,120)进行正确的转换后当成字符串传到PHP,然后PHP中使用strtotime函数转换回来。注意的是PHP想调用SQL-Server数据库应该打开sqlsrv驱动开关的,这样才能使用sqlsrv_connect等函数。

7. pChart输出的图片如何在网页中显示

直接使用< img src=”draw.php” />就可以了

8. 需要动态加载pChart输出的图片及显示加载等待提示,由于本来就使用了jQuery库,因此处理起来还是比较轻松

var _url = "draw.php?v="+ Math.random();
var _im = $("<img>");
_im.bind("load",function(){ 
    $(this).hide();
    $('#loader').removeClass('loading').append(this);
    $(this).fadeIn(); 
});
_im.attr('src', _url);

#loader的CSS样式loading中设置加载等待提示gif图片就行了。



分类:代码, 博客 标签:

3 Responses to “PHP图表库pChart-V2的使用笔记”

  1. nivea  on 六月 24th, 2011

    看了博主很多篇博文了,在这里冒个泡

  2. lsc  on 六月 22nd, 2011

    php也这么精通啊,太厉害了

    • 水文工具集  on 六月 22nd, 2011

      尚未入门尚未入门,靠感觉应付一般小问题而已了,呵


发表评论

You must be logged in to post a comment.