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 相关文章推荐
dedecms采集中可以过滤多行代码的正则表达式
Mar 17 PHP
php设计模式之观察者模式的应用详解
May 21 PHP
php异常处理使用示例
Feb 25 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
PHP中把有符号整型转换为无符号整型方法
May 27 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
PHP基于IMAP收取邮件的方法示例
Aug 07 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 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 操作excel文件的方法小结
2009/12/31 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
php字符集转换
2017/01/23 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
Convert Seconds To Hours
2007/06/16 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
javascript 用函数语句和表达式定义函数的区别详解
2014/01/06 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
jquery滚动条插件(可以自定义)
2016/12/11 Javascript
详解jQuery中的事件
2016/12/14 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
如何解决vue在ios微信"复制链接"功能问题
2020/03/26 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
Python 描述符(Descriptor)入门
2016/11/20 Python
python将unicode转为str的方法
2017/06/21 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
python微信好友数据分析详解
2018/11/19 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
python的pstuil模块使用方法总结
2019/07/26 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
幼儿师范毕业生自荐信
2013/11/09 职场文书
门诊挂号室室长岗位职责
2013/11/27 职场文书
初二政治教学反思
2014/01/12 职场文书
表扬稿范文
2015/01/17 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
【海涛教你打dota】体验一超神发条:咱是抢盾专业户
2022/04/01 DOTA