最近想使用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图片就行了。
转载自水文工具集 [ http://www.cnhup.com ]
联系QQ:39515976