php图形jpgraph操作实例分析


Posted in PHP onFebruary 22, 2017

本文实例讲述了php图形jpgraph操作。分享给大家供大家参考,具体如下:

<?php
include ("src/jpgraph.php");
include("src/jpgraph_bar.php");
include ("src/jpgraph_line.php");
//设置显示的数据数组;
//调用类库
//设置图像的大小
$graph = new Graph(400,200,"auto");
$graph->SetScale("textlin");
//设置图形的边距
$graph->img->SetMargin(40,180,40,40);
//设置图形的背景图片,填充方式有:BGIMG_FILLPLOT, BGIMG_FILLFRAME, BGIMG_COPY
$graph->SetBackgroundImage("abc.jpg",BGIMG_FILLPLOT);
$graph->img->SetAngle(45); //设置图形在图像中的角度
//设置背景图片的对比度,must be between -1 <= x <= 1, (0,0)=original image
$graph->AdjBackgroundImage(0,0);
//设置投影;
//$graph->SetShadow();
//设置标题
$graph->title->Set("test image");
//设置标题字体样式
$graph->title->SetFont(FF_FONT1,FS_BOLD);
//设置标题的边距
$graph->title->SetMargin(3);
//设置图列的位置
$graph->legend->Pos(0.05,0.5,"right","center");
//设置图列的投影,颜色
$graph->legend->SetShadow('darkgray@0.1');
$graph->legend->SetFillColor('lightblue@0.3');
//设置x轴的标记
$graph->xaxis->SetTickLabels($label_x);
//设置X轴的显示值的角度;
$graph->xaxis->SetLabelAngle(30);
//设置x轴标题和字体颜色
$graph->xaxis->title->Set('Year 2006');
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetColor('white');
//设置x轴的字体和颜色
$graph->xaxis->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->SetColor('yellow');
//设置y轴的字体和颜色
$graph->yaxis->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->SetColor('yellow');
//设置是否显示格子。默认为显示;
//$graph->ygrid->Show(false);
//设置格子的颜色和粗细。值越小,格子越粗。
$graph->ygrid->SetColor('yellow@0.5');
//设置y轴更优美一些
$graph->yaxis->scale->SetGrace(20);
//设置图列的数据
$bplot1 = new BarPlot($datay1);
$bplot2 = new BarPlot($datay2);
//设置图列的填充颜色
$bplot1->SetFillColor('orange@0.4');
$bplot2->SetFillColor('brown@0.4');
//设置值的格式
$bplot1->value->SetFormat('%d');
//设置图列标签
$bplot1->SetLegend('Label 1');
$bplot2->SetLegend('Label 2');
//设置图列在图中的阴影
$bplot1->SetShadow('black@0.4');
$bplot2->SetShadow('black@0.4');
//生成图列
$gbarplot = new GroupBarPlot(array($bplot1,$bplot2));
$gbarplot->SetWidth(0.9);
$graph->Add($gbarplot);
//生成图形
$graph->Stroke();
//上面所说的时在生成柱形图,当生成线性图时用下面的方法
$p1 = new LinePlot($datay);
$p1->mark->SetType(MARK_FILLEDCIRCLE);
$p1->mark->SetFillColor("red");
$p1->mark->SetWidth(4);
$p1->SetColor("blue");
$p1->SetCenter();
$p1->SetLegend("Triumph Tiger -98");
$graph->Add($p1);
$p2 = new LinePlot($data2y);
$p2->mark->SetType(MARK_STAR);
$p2->mark->SetFillColor("red");
$p2->mark->SetWidth(4);
$p2->SetColor("red");
$p2->SetCenter();
$p2->SetLegend("New tiger -99");
$graph->Add($p2);
// Style can also be specified as SetStyle([1|2|3|4]) or
// SetStyle("solid"|"dotted"|"dashed"|"lobgdashed")
$lineplot->SetStyle("dashed");//设置线的样式
$graph->yaxis->scale->SetGrace(20); //设置y轴更优美一些
?>

2.柱形图和饼状图举例

if($tag == 1)
{
$graph = new Graph(600,400,"auto");
$graph->SetScale("textlin");
$graph->setMarginColor('lightblue');
$graph->SetShadow();
$graph->setMargin(30,100,30,60);
//设置标题;
$graph->title->set("文章分类汇总");
$graph->title->SetMargin(3);
$graph->title->setfont(FF_SIMSUN,FS_BOLD);
$graph->title->setcolor('black@0.5');
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->xaxis->SetFont(FF_SIMSUN,FS_NORMAL);
$graph->xaxis->SetColor('darkblue','black');
$graph->xaxis->SetTickLabels($name);
$graph->xaxis->SetLabelAngle(30);
$bplot = new BarPlot($article_num);
$bplot->SetFillColor("orange");
$bplot->value->SetFormat('%d');
$bplot->SetShadow('darkgray');
$bplot->value->show();
$graph->legend->SetFont(FF_SIMSUN,FS_BOLD);
$bplot->SetLegend("文章数");
$graph->Add($bplot);
$graph->Stroke();
}
else
{
$graph1 = new PieGraph(600,400,"auto");
$graph1->SetScale("textlin");
$graph1->SetShadow();
$graph1->title->setFont(FF_SIMSUN,FS_BOLD);
$graph1->title->set("用户文章饼形图");
$graph1->setMargin(30,100,30,60);
$p1 = new pieplot3d($article_num);
$p1->setAngle(80);
$p1->setsize(0.5);
$p1->setShadow();
$p1->ExplodeSlice(2);
$p1->SetCenter(0.4);
$graph1->legend->SetFont(FF_SIMSUN,FS_NORMAL);
$graph1->legend->setshadow();
$p1->SetLegends($name);
$graph1->Add($p1);
$graph1->Stroke();
}
//生成本地图片
$graph->Stroke("路径/文件名.png");

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

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(4)
Oct 09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
java EJB 加密与解密原理的一个例子
Jan 11 PHP
php下几个常用的去空、分组、调试数组函数
Feb 22 PHP
php FPDF类库应用实现代码
Mar 20 PHP
php使用pdo连接mssql server数据库实例
Dec 25 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
Feb 04 PHP
php 防止表单重复提交两种实现方法
Nov 03 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 PHP
PHP中Notice错误常见解决方法
Apr 28 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 PHP
php微信公众号开发之微信企业付款给个人
Oct 04 PHP
关于php几种字符串连接的效率比较(详解)
Feb 22 #PHP
php可变长参数处理函数详解
Feb 22 #PHP
php操作access数据库的方法详解
Feb 22 #PHP
Smarty3配置及入门语法
Feb 22 #PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 #PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 #PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 #PHP
You might like
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
python简单实现刷新智联简历
2016/03/30 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
Python callable内置函数原理解析
2020/03/05 Python
django实现模型字段动态choice的操作
2020/04/01 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
出国留学介绍信
2014/01/13 职场文书
白岩松演讲
2014/05/21 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
公司开业致辞
2015/07/29 职场文书
餐厅开业活动方案
2019/07/08 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
python实现手机推送 代码也就10行左右
2022/04/12 Python