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读取XML值的代码(推荐)
Jan 01 PHP
解析将多维数组转换为支持curl提交的一维数组格式
Jul 08 PHP
浅析PHP的静态成员函数效率更高的原因
Jun 13 PHP
PHP SPL标准库之接口(Interface)详解
May 11 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
PHP+Ajax实现的博客文章添加类别功能示例
Mar 29 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
PHP实现websocket通信的方法示例
Aug 28 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 PHP
Centos7安装swoole扩展操作示例
Mar 26 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
PHP 选项及相关信息函数库
2006/12/04 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
linux下编译安装memcached服务
2014/08/03 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
2019/12/17 Javascript
Python深入学习之闭包
2014/08/31 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
Python中文编码知识点
2019/02/18 Python
Python魔法方法功能与用法简介
2019/04/04 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
学习Python爬虫的几点建议
2020/08/05 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
美国批发供应商:Kole Imports
2019/04/10 全球购物
"序列点" 是什么
2016/07/29 面试题
国际商务专业学生个人的自我评价
2013/09/28 职场文书
后勤自我鉴定
2013/10/13 职场文书
个人素质的自我评价分享
2013/12/16 职场文书
产品售后服务承诺书
2014/05/21 职场文书
询价采购方案
2014/06/09 职场文书
初中优秀学生评语
2014/12/29 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
java设计模式--七大原则详解
2021/07/21 Java/Android