利用Jpgraph创建柱状图展示年度收支表

应用GD2库可以创建各式各样的图像,但是制作复杂的统计图形,仅通过GD2函数库来实现,则显得非常繁琐。PHP从诞生走向成熟经历了多次变革,在这期间,许多组织机构都开发了PHP的框架和类库。Jpgraph图形类库就是其中非常实用、流行的代表,不仅功能强大,而且操作简单。

例如:应用Jpgraph创建柱状图展示年度收支情况。

(1)将Jpgraph类库,首相应该,下载该类库的压缩包,下载完毕后解压到项目所在目录。

下载地址:http://download.csdn.net/detail/qq_28602957/9594460

配置方式有两种,

(1)打开PHP的安装目录,编辑php.ini文件并修改其中的include_path参数,在其后增加文件夹名,如include_path = ".;D:\wampserver\www\jpgraph"

(2)重启Apache服务器即可生效

如果只想在本站点使用Jpgraph,则直接解压到项目的工程目录下即可。

需要用require_once等语句将所有文件导入到项目中。

例如建立index.php页面

<?php

require_once 'jpgraph/src/jpgraph.php';     //导入Jpgraph类库
require_once 'jpgraph/src/jpgraph_bar.php';     //导入Jpgraph类库的柱状图功能
$data = array(80, 73, 89, 43, 56, 76, 89, 96, 93, 30, 98, 78); //设置统计数据
$xdata = array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
$graph = new Graph(600, 300);       //设置画布大小
$graph->SetScale('textlin');        //设置坐标刻度类型
$graph->SetShadow();                //设置画布阴影
$graph->img->SetMargin(40, 30, 20, 40);     //设置统计图边距
$barplot = new BarPlot($data);              //实例化BarPlot对象
$barplot->SetFillColor('blue');             //设置柱状图前景色
$barplot->value->Show();                    //显示
$graph->Add($barplot);
$graph->title->Set(iconv('utf-8', 'GB2312//IGNORE','***科技有限公司年度收支'));//设置标题iconv防止中文乱码
$graph->xaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE','月份'));           //设置X轴名称
$graph->xaxis->SetTickLabels($xdata);//设置x轴标注
$graph->yaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE','总金额(万元)'));  //设置y轴名称
$graph->title->SetFont(FF_SIMSUN, FS_BOLD);                                   //设置标题字体
$graph->xaxis->title->SetFont(FF_SIMSUN, FS_BOLD);                            //设置x轴字体
$graph->yaxis->title->SetFont(FF_SIMSUN, FS_BOLD);                            //设置y轴字体
$graph->Stroke();              //输出图像

运行结果为:

时间: 2024-10-08 08:23:56

利用Jpgraph创建柱状图展示年度收支表的相关文章

利用Jpgraph创建3D饼形图

用Jpgraph类库制作统计图功能及其强大,不仅可以绘制平面图形,而且可以绘制具有3D效果的图形.直接使用GD2函数库可以绘制出各种图形,当然也包括3D饼图,但使用GD2函数绘制3D图形要花费大量的时间,而且相对复杂,而采用Jpgraph类库绘制3D饼图却十分方便.快捷. 例:使用Jpgraph创建3D饼图进行部门业绩比较. 具体步骤如下: (1)在程序中导入Jpgraph类库及饼图绘制功能. require_once 'jpgraph/src/jpgraph.php'; //导入Jpgraph

利用Jpgraph创建折线图

在企业运营中,经常需要对各种数据进行统计,利用图表动态分析不同的数据表中的数据,可以使数据显示的更加直观. 例:应用Jpgraph技术绘制包含两种图书销售走势的折线图. 为了能够使用Jpgraph的功能,首先在程序中导入Jpgraph类库,然后创建两个数组分别表示两种图书的年度销售情况,创建Graph类的对象,并用创建的数组作为参数创建两个LinePlot类的对象.设置统计图的标题.刻度.背景色和折线颜色等参数,并将两个LinePlot对象添加到统计图对象中. 过程如下: (1)在程序中导入Jp

利用navicat创建存储过程、触发器和使用游标的简单实例

创建存储过程和触发器 1.建表 首先先建两张表(users表和number表),具体设计如下图: 2.存储过程 写一个存储过程,往users表中插入数据,创建过程如下: 代码如下: BEGIN     #Routine body goes here...     declare n bigint;     set n = 201121029684;     while n <= 201121029694     do         insert into users(student_ID) v

通过virt-manager 利用NFS创建、迁移虚拟机2

前面一篇文章介绍了利用NFS创建虚拟机的过程,本文就介绍下如何利用NFS对虚拟机进行动态迁移. 动态迁移就是把一台虚拟机在不停止其运行的情况下迁移到另一台物理机上.这看起来似乎不太可能,不过还好kvm本身就支持者一特性,且libvirt也提供了相应的API,我们可以通过virsh命令或者virt-manager对虚拟机进行动态迁移. 进行动态迁移由于不间断虚拟机的运行,所以其所需的条件就必要多: 1.两台虚拟机的虚拟化环境必须一致,libvirt版本.qemu版本. 2.两台物理机必须有着相同的

如何在Linux命令行中创建以及展示演示稿

你在准备一场演讲的时候,脑海可能会先被图文并茂.形象华丽的演示图稿所占据.诚然,没有人会否认一份生动形象的演讲稿所带来的积极作用.然而,并非所有的演讲都需要TED Talk的质量.更多时候,演讲稿只为传达特定的信息. 而这个,使用文本信息足以完成.在这种情况下,你的时间可以更好的花在信息的搜集和核实上面,而不是在谷歌图片搜索(Google Image)上寻找好看的图片. 在Linux的世界里,有几个不同的方式供你选择来做演讲.比如带有大量多媒体展示.视觉冲击效果极佳的Impress.js,专为L

Oracle 11g 环境下,利用utl_smtp创建发送邮件的存储过程

网上太多发邮件储存过程,我就不转发了,弄个简单的作为示例: create or replace procedure Send_mail(mail_body varchar2) is smtp_conn utl_smtp.connection; user_name varchar2(20) := utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw('[email protected]'))); user_pas

C#中利用委托创建窗体单向通信

初学者在开始学习的时候,对于委托很难做到一下子理解,其中也包括我.委托好比一座大山,没爬上山顶就不能有"一览众山小"的感觉,只有你真正的爬到山顶的时候,才会发现大自然的是神奇. 委托我们可以把它认为是一个类,而不是一个方法.用委托我们可以调用方法,来简化程序,非常像C++中的指针. 使用委托的一般步骤为: (1)定义委托,delegate 返回值类型 委托类型名称(参数列表): (2)声明方法: (3)实例化委托,注意声明的类型要和方法中的类型一样. 下面给出例子,利用委托创建窗体单向

利用反射创建实例强制转换为接口失败小结

最近码代码是遇到一个很奇怪的问题,利用反射创建实例对象后强制转换为接口类型时抛出异常 然后看了下类的继承关系 没有问题,查看代码用 m_queryImplementAssembly = Assembly.Load(m_queryImplementAssemblyName); m_queryImplementAssembly.CreateInstance(strInstanceName);也不应该会出问题, 后来换了一种方式Activator.CreateInstance仍然无果.就这样纠结了一天

利用dispatch_once创建单例

利用dispatch_once创建单例 使用Objective-C实现单例模式的最佳方式向来有很多争论,开发者(包括Apple在内)似乎每几年就会改变他们的想法.当Apple引入了Grand Central Dispatch (GCD)(Mac OS 10.6和iOS4.0),他们也引入了一个很适合用于实现单例模式的函数. 该函数就是dispatch_once: void dispatch_once( dispatch_once_t *predicate, dispatch_block_t bl