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 相关文章推荐
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
Aug 09 PHP
PHP SPL使用方法和他的威力
Nov 12 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
Jul 08 PHP
PHP云打印类完整示例
Oct 15 PHP
thinkPHP5.0框架环境变量配置方法
Mar 17 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
Aug 15 PHP
PHP+ajax实现二级联动菜单功能示例
Aug 10 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
Oct 23 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
PHP操作XML中XPath的应用示例
Jul 04 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
咖啡的化学
2021/03/03 咖啡文化
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
JQuery autocomplete 使用手册
2010/04/01 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
2018/12/12 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
python使用socket向客户端发送数据的方法
2015/04/29 Python
Python从MP3文件获取id3的方法
2015/06/15 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
python多线程并发实例及其优化
2019/06/27 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
人事部主管岗位职责
2013/12/26 职场文书
人事任命书格式
2014/06/05 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
Python实现简繁体转换
2021/06/07 Python
alibaba seata服务端具体实现
2022/02/24 Java/Android
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang