PHP图形操作之Jpgraph学习笔记


Posted in PHP onDecember 25, 2015

本文实例讲述了PHP图形操作之Jpgraph学习笔记。分享给大家供大家参考,具体如下:

一、Jpgraph安装配置

下载Jpgraph安装包

解压后放置磁盘中,(最好是放在和网页一起)

修改php.ini文件:

1、内存  memory_limit=X,至少为32M

2、执行时间  max_execution_time=X,对于复杂的图片加载时需要较多的时间,根据图片的复杂度做相应的修改

3、缓存  output_buffering  注释掉缓存,便于调试

二、使用Jpgraph创建图形的基本步骤(必要的)

1、包含所需要的类库文件

require_once();

2、初始化数据

$data=array();

可以是php程序中的固定数据,即静态数据,直接得到
可以是存储在文本文件中的数据
可以是存储在数据库中的数据
可以是通过URL参数传递的数据( GET 或 POST方式)

3、 创建Graph类实例

$graph=new Graph();

可以在此设置图形的尺寸

4、设置标题、x轴标题、y轴标题的内容,及其字体、颜色、位置等

5、创建对应的图实例

可以是折线图、柱形图、饼状图,3d等

6、将数据添加到图形上

$graph->Add();

7、显示图片

$graph->Stroke();

至此一个简单的图形就完成了

注意:

中文字体乱码

Gpgraph默认显示汉字时是把汉字编码认为gb2312,转化为utf-8以后再显示,如果文件的编码方式是gb2312,只需把SetFont()方法的第一个参数设置为FF_SIMSUN即可
如果是utf-8编码的,需要先把汉字编码转化为gb2312,这样汉字才能正常显示
转换编码方式可以使用  iconv("UTF-8","gb2312",$x);

一些常用的方法:

$graph->title->Set('设置图表的标题');
$graph->tabtitle->Set('设置图片头部文字');
$graph->xaxis->title->Set("设置X轴的标题");
$graph->yaxis->title->Set("设置Y轴的标题");
$graph->SetScale('textlin');//设置刻度值类型
$graph->img->SetMargin(50,40,40,55);//边框间距(左右上下)
$graph->title->SetFont(FF_SIMSUN,FS_BOLD,12);//标题字体
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD,10);
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD,10);
$graph->xaxis->SetFont(FF_SIMSUN,FS_BOLD,12);//坐标柱上的字体
$graph->yaxis->SetFont(FF_SIMSUN,FS_BOLD,12);
$graph->title->SetColor('red'); ///标题颜色
$graph->xaxis->title->SetColor('red');
$graph->yaxis->title->SetColor('red');
$graph->xaxis->title->SetMargin(20);//距离坐标轴的距离
$graph->yaxis->title->SetMargin(20);//距离Y轴的距离
$linepot->SetColor('red');//折线的颜色(折线图)
$linepot->SetWeight(2);//折线的宽度
$linepot->value->SetFormat('%0.1f'); //值的格式化
$linepot->value->show(true);//显示值
$graph->SetBackGroundImage ( );设置背景
$graph->SetMarginColor('lightblue');//设置图形颜色
$graph->SetShadow();//
$graph->Set3DPerspecttive(); //设置3d效果图
/*倾斜3D效果 
 1、' SKEW3D_UP '
 2、' SKEW3D_DOWN'
 3、' SKEW3D_LEFT'
 4、' SKEW3D_RIGHT'*/
$p1->SetTheme('water');//设置样式
$p1->SetCenter(0.5,0.55);//设置图形位置
$graph->legend->Pos(0.1,0.9);//设置注释文字的位置
$graph->legend->SetFont(FF_SIMSUN,FS_BOLD,12);//设置注释文字的字体

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 多维数组排序实现代码
Aug 05 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
Jun 03 PHP
解析php file_exists无效的解决办法
Jun 26 PHP
php使用数组填充下拉列表框的方法
Mar 31 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
yii分页组件用法实例分析
Dec 28 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
php数据库操作model类(使用__call方法)
Nov 16 PHP
PHP+iframe图片上传实现即时刷新效果
Nov 18 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
PHP命名空间与自动加载机制的基础介绍
Aug 25 PHP
PHP如何使用array_unshift()在数组开头插入元素
Sep 01 PHP
php实现scws中文分词搜索的方法
Dec 25 #PHP
php自定义分页类完整实例
Dec 25 #PHP
php导出生成word的方法
Dec 25 #PHP
大家都应该掌握的PHP关联数组使用技巧
Dec 25 #PHP
[原创]PHP实现逐行删除文件右侧空格的方法
Dec 25 #PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 #PHP
php通过淘宝API查询IP地址归属等信息
Dec 25 #PHP
You might like
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
python 截取 取出一部分的字符串方法
2017/03/01 Python
Python批量合并有合并单元格的Excel文件详解
2018/04/05 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
python导入库的具体方法
2020/06/18 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
行政部主管岗位职责
2013/12/28 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
大班下学期幼儿评语
2014/12/30 职场文书
学历证明样本
2015/06/16 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL