php使用Jpgraph创建折线图效果示例

发布时间 - 2026-01-10 23:04:18    点击率:

本文实例讲述了php使用Jpgraph创建折线图效果。分享给大家供大家参考,具体如下:

在企业运营中,经常需要对各种数据进行统计,利用图表动态分析不同的数据表中的数据,可以使数据显示的更加直观。

例:应用Jpgraph技术绘制包含两种图书销售走势的折线图。

为了能够使用Jpgraph的功能,首先在程序中导入Jpgraph类库,然后创建两个数组分别表示两种图书的年度销售情况,创建Graph类的对象,并用创建的数组作为参数创建两个LinePlot类的对象。设置统计图的标题、刻度、背景色和折线颜色等参数,并将两个LinePlot对象添加到统计图对象中。

过程如下:

(1)在程序中导入Jpgraph类库及直线绘制功能。

require_once 'jpgraph/src/jpgraph.php';
require_once 'jpgraph/src/jpgraph_line.php';

(2)创建统计数据,并保存到一维数组中。

$data1 = array(89, 78, 99, 65, 92, 85, 85, 55, 64, 79, 85, 98);//设置统计数据
$data2 = array(68, 70, 69, 80, 50, 60, 75, 65, 75, 65, 80, 89);//设置统计数据

(3)创建统计图对象,并设置坐标的刻度样式

$graph = new Graph(600, 300);//创建统计图对象
$graph->SetScale('textlin');//设置刻度样式
$graph->SetY2Scale('lin');
$graph->SetShadow();//设置背景带阴影
$graph->img->SetMargin(40, 50, 20, 70);// 设置图表灰度四周边距,顺序为左右上下
$graph->title->Set(iconv('utf-8', 'GB2312//IGNORE', '图书销售走势表'));//设置走势图的标题

(4)创建LinePlot对象,并将创建后的对象添加到统计图的对象中。

$lineplot1 = new LinePlot($data1);//建立LinePlot对象
$lineplot2 = new LinePlot($data2);//建立LinePlot对象
$graph->Add($lineplot1);
$graph->AddY2($lineplot2);

(5)设置统计图和坐标轴的标题内容和文字样式,并输出统计图

$graph->xaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "月份"));//设置x轴的标题
$graph->yaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "book A 销售金额(万元)"));//设置y轴的标题
$graph->y2axis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "book B 销售金额(万元)"));//设置y轴的标题
$graph->y2axis->title->SetMargin(20);//设置右边的title到图的距离
$graph->title->SetFont(FF_SIMSUN, FS_BOLD);//设置字体
$graph->yaxis->title->SetFont(FF_SIMSUN, FS_BOLD);
$graph->y2axis->title->SetFont(FF_SIMSUN, FS_BOLD);
$graph->xaxis->title->SetFont(FF_SIMSUN, FS_BOLD);
$lineplot1->SetColor('red');//设置颜色
$lineplot2->SetColor('blue');
$lineplot1->SetLegend('book A');//绑定
$lineplot2->SetLegend('book B');
$graph->legend->SetLayout(LEGEND_HOR);
$graph->legend->Pos(0.4, 0.95, 'center', 'bottom');
//图例文字框的位置 0.4,0.95 是以右上角为基准的,0.4是距左右距离,0.95是上下距离。
$graph->Stroke();//输出

运行结果如下:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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


# php  # Jpgraph  # 创建  # 折线图  # php报表之jpgraph柱状图实例代码  # PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图  # JpGraph php柱状图使用介绍  # php中jpgraph类库的使用介绍  # php使用Jpgraph绘制柱形图的方法  # php使用Jpgraph绘制3D饼状图的方法  # php使用Jpgraph绘制饼状图的方法  # php图形jpgraph操作实例分析  # php使用Jpgraph创建柱状图展示年度收支表效果示例  # PHP使用JpGraph绘制折线图操作示例【附源码下载】  # PHP使用JPGRAPH制作圆柱图的方法详解  # 统计图  # 万元  # 两种  # 并将  # 操作技巧  # 程序设计  # 象中  # 类库  # 图书销售  # 相关内容  # 感兴趣  # 给大家  # 更多关于  # 所述  # 绑定  # 面向对象  # 销售情况  # 背景色  # 组中 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  如何在云虚拟主机上快速搭建个人网站?  使用C语言编写圣诞表白程序  中山网站制作网页,中山新生登记系统登记流程?  深入理解Android中的xmlns:tools属性  如何快速查询网站的真实建站时间?  如何在宝塔面板创建新站点?  Laravel如何优化应用性能?(缓存和优化命令)  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  如何用VPS主机快速搭建个人网站?  如何基于云服务器快速搭建网站及云盘系统?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何在自有机房高效搭建专业网站?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  独立制作一个网站多少钱,建立网站需要花多少钱?  青岛网站建设如何选择本地服务器?  微信小程序 canvas开发实例及注意事项  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何在Windows虚拟主机上快速搭建网站?  如何快速搭建高效服务器建站系统?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  什么是javascript作用域_全局和局部作用域有什么区别?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  java中使用zxing批量生成二维码立牌  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  香港网站服务器数量如何影响SEO优化效果?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  如何在IIS中配置站点IP、端口及主机头?  JavaScript如何实现路由_前端路由原理是什么  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  如何快速搭建高效WAP手机网站?  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  简单实现Android验证码  Python并发异常传播_错误处理解析【教程】  手机网站制作与建设方案,手机网站如何建设?  如何有效防御Web建站篡改攻击?  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  Laravel Docker环境搭建教程_Laravel Sail使用指南  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控