|
thinkphp 升级至3.2.3 版之后,由于采用的命名空间,所以在使用Jpgraph作为外部插件生成统计图表时,需要对下载的Jpgraph做一些调整,使用方法如下:
PS:操作系统centos6.0 。
1,下载Jpgraph,下载地址:http://www.thinkphp.cn/download/276.html。
2,解压将得到的文件夹Jpgraph放置在ThinkPHP/Library/Vendor/目录下。
3,解压得到的文件Chart.class.php放置在ThinkPHP/Library/Think目录下,并修改Chart.class.php,修改如下:
将头部第十行左右的
- class Chart extent Think{
修改为:
- namespace Think;
- class Chart{
将174行左右的
$graph = new Graph($width,$height,"auto");
修改为:
$graph = new \Graph($width,$height,"auto");
将186行左右的
$p1 = new LinePlot($data);
修改为:
$p1 = new \LinePlot($data);
4,调用,可在模块公共文件夹下的function.php中加入如下代码:
- function tubiao(){
- $chart = new \Think\Chart();
- $title = '这里是标题'; //标题
- $data = array(20,27,45,75,90,10,20,40); //数据
- $size = 140; //尺寸
- $width = 800; //宽度
- $height = 500; //高度
- $legend = array('1111 ','2222','3333','4444 ','5555 ','6666 ','7777 ','8888 ');//说明
- /*上面的参数各种图都是用,比如:饼图 折线图 柱形图等等,需要改变的就是下面的chart.php中的function的名字*/
- $chart->createmonthline($title,$data,$size,$height,$width,$legend);
- // $chart->create3dpie($title,$data,$size,$height,$width,$legend);
- // $chart->createcolumnar($title,$data,$size,$height,$width,$legend);
- // $chart->createring($title,$data,$size,$height,$width,$legend);
- // $chart->createhorizoncolumnar($title,$data,$size,$height,$width,$legend);
- }
然后在控制器中可直接使用tubiao();进行调用!具体参数可自行修改!
5,调用成功后,可能会出现simsun.ttc not found 之类缺少字体的错误,可在Jpgraph下新建字体目录fonts,并在windows系统中复制宋体的字体文件:simsun.ttc,将字体文件放置在fonts/目录下。同时修改 ThinkPHP/Library/Vendor/Jpgraph/jpgraph.php 第66行左右定义字体目录的语句,将路径修改为存放字体文件的完整路径:
DEFINE('TTF_DIR','/var/www/html/ThinkPHP/Library/Vendor/Jpgraph/fonts/');
这是我电脑上的,具体位置根据个人情况进行修改。
6,设置完成后就能看到成功生成了图表
 |
|