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 array_flip() 删除重复数组元素专用函数
May 16 PHP
PHP高级对象构建 工厂模式的使用
Feb 05 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
thinkphp的静态缓存用法分析
Nov 29 PHP
php强制运行广告的方法
Dec 01 PHP
php简单操作mysql数据库的类
Apr 16 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
php通过pecl方式安装扩展的实例讲解
Feb 02 PHP
php框架CodeIgniter主从数据库配置方法分析
May 25 PHP
php实现的简单多进程服务器类完整示例
Feb 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
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
jquery获取checkbox的值并post提交
2015/01/14 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
react 生命周期实例分析
2020/05/18 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
Java中compareTo和compare的区别
2016/04/12 面试题
应届生的求职推荐信范文
2013/11/30 职场文书
大学生入党思想汇报
2014/01/01 职场文书
投标邀请书范文
2014/01/31 职场文书
色戒观后感
2015/06/12 职场文书
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电