jpgraph柱状图的使用方法详解

通过本文你至少可以掌握以下技巧:

1、能够使用JpGraph画出各式各样的图表

2、解决中文乱码

 

一、开启GD库

Jpgraph需要GD库的支持,所以在调式JpGraph之前,确保GD库已开启,这很重要,不然后面的工作就没办法展开了。GD库在PHP5中是被默认安装的,我们只需开启GD库就可以了。

打开php.ini文件,找到“;extension=php_gd2.dll”选项,将其前的分号“;”去掉,如图所示

然后保存修改后的文件并重新启动apache服务器。可以通过phpinfo()函数来获取GD2函数库的安装信息,验证GD库是否安装成功。

 

二、使用方法

在使用JpGraph时,最好弄明白你使用的是哪一个版本,千万不要弄错,不然就会张冠李戴,让你调得头晕目眩的。也不要从网上找一些片断代码来调试,除非它是完整的,不然也会让你吃不了兜着走的了。唠叼就到这里了,下面开始调试。

 

运行环境

操作系统  W7

代码运行环境  apache+php5.3

JpGraph版本 jpgraph-3.5.0b1(点击这里下载或者到官网http://jpgraph.net/download/下载)

 

解压下载的jpgraph-3.5.0b1压缩包,会看到一些目录:

src:图表生成所依赖的代码包,其子目录Examples里有许多的实例。

srcExamples:里面包函许多实例,使用它们可以制作各种各样的图表

docs :jpgraph的开发文档,但全是英文的.。

docschunkhtml:里面有许多案例及附有图表,通过它我们可以参考一下我们所需要的图表。

 

在网站根目录建一个文件夹test,然后把把docs和src文件夹拷贝到前面所创建的目录test里,重命名src为jpgraph,这里因为Examples里面的实例文件加载的路径都是“require_once ('jpgraph/jpgraph.php');”

 

实例

把jpgraphExamplesaccbarex1.php拷贝到test目录(和jpgraph同一目录),然后打开打开http://localhost/test/accbarex1.php,我们就会看到生成的图

哗,这是我们使用PHP作图很难实现的

 代码如下 复制代码

//加载生成图表对应的文件
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_bar.php');

//创建图表的数据,可以自定义
$data1y=array(-8,8,9,3,5,6);
$data2y=array(18,2,1,7,5,4);

// 图表的长宽
$graph = new Graph(500,400);
$graph->SetScale("textlin");
$graph->SetShadow();

//图表的外边距
$graph->img->SetMargin(40,30,20,40);
// Create the bar plots
$b1plot = new BarPlot($data1y);
$b1plot->SetFillColor("orange");
$b1plot->value->Show();
$b2plot = new BarPlot($data2y);
$b2plot->SetFillColor("blue");
$b2plot->value->Show();
// Create the grouped bar plot
$gbplot = new AccBarPlot(array($b1plot,$b2plot));
// ...and add it to the graPH
$graph->Add($gbplot);

//设置图表的标题字体、大小
$graph->title->Set("Accumulated bar plots");
$graph->xaxis->title->Set("X-title");
$graph->yaxis->title->Set("Y-title");

//和上面标题对应,设置标题的字体和大小
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);

//生成本地图表,?认留空,生成在当前目录,可以Stroke(“路径/文件名.png”)这样指定路径
$graph->Stroke();

JpGraph的难点是中文乱码的解决,本来还想把这个问题一块解决的,但似乎篇幅有点长了,留到下一篇吧

小结:调试JpGraph,需要注意其运行环境、版本、操作系统以及代码的完整性,不然相同的代码可能却无法正确运行。

时间: 2024-09-17 04:50:44

jpgraph柱状图的使用方法详解的相关文章

D3.js实现散点图和气泡图的方法详解_javascript技巧

前言 小编之前已经跟大家分享过了<D3.js实现柱状图的方法详解>和<D3.js实现折线图的方法详解>这两篇文章,已经介绍过柱状图和折线图了.下面就来说说和这两种非常相似的图表--散点图和气泡图.有需要的朋友们可以参考学习. 散点图和气泡图的实现 还是和之前一样,我们先把简单的画图框架搭起来,添加SVG画布: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q

D3.js实现折线图的方法详解_javascript技巧

前言 D3.js是一个帮助开发者操纵基于数据的文档的JavaScript类库,在<D3.js实现柱状图的方法详解>中已经给大家介绍过如何用D3.js来实现一个简单的柱状图了,今天我们来学习用D3.js来实现折线图,感兴趣的朋友们下面来一起看看吧. 折线图由坐标轴.线条和点组成.和实现柱状图一样,我们还是先把大概的画图框架搭起来,代码如下(别忘了添加D3.js): <!DOCTYPE html> <html lang="en"> <head>

iOS UITableView代理方法详解

IOS UITableView的代理方法详解 一.补充 在上一篇博客中,http://my.oschina.net/u/2340880/blog/404605,我将IOS中tableView(表视图)的一些常用方法总结了一下,这篇将tableView的代理方法作了总结,对上一篇博客进行了补充. 二.UITableViewDataSourc(数据源代理) 1.必须实现的回调方法 返回每个分区的行数 - (NSInteger)tableView:(UITableView *)tableView nu

ASP包含文件方法详解

详解 ASP包含文件方法详解 SSI 指令为用户提供在 Web 服务器处理之前将一个文件的内容插入到另一个文件的方法.ASP 只使用这一机制的 #include 指令.要在 .asp 文件中插入一个文件,使用下面的语法: <!--#include virtual | file ="filename"--> virtual 和 file 关键字指示用来包含该文件的路径的类型,filename 是您想包含的文件的路径和名称. 被包含文件不要求专门的文件扩展名:但是,为被包含文件

如何远程调用Access数据库方法详解

  如何远程调用Access数据库方法详解: 使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0.).分服务器和客户端两部分,服务器可以多用户同时连接.远程连接Access数据库有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我现在这个例子属于其中的第3种方法(不需要使用RDS或Web服务器). 远程连接access数据库的几个方法: 1.建立VPN(Virtual Private Network),这样你的电脑和主机的连接就与局域网无异,然后把服务器

ASP.NET动态设置页面标题的方法详解

这篇文章介绍了ASP.NET动态设置页面标题的方法详解,有需要的朋友可以参考一下     ASP.NET为我们提供了一个控件类:System.Web.UI.HtmlControls.HtmlGenericControl.它可以实现 HTML的元素的一个实例,比如在.cs代码中控制aspx中的<td>元素(注意,它不是<ASP:TableCell>). 我们知道,页面标题是被包含在<TITLE></TITLE>中的,而<TITLE>也是一个HTML

计算及通道保细节磨皮美白方法详解

计算及通道保细节磨皮美白方法详解 计算与通道混合磨皮方法是较为流行的,也是精度较高的磨皮方法.操作起来可能会麻烦一点,大致需要经过以下几个过程:首先要不原始图片稍微调亮,然后进入通道面板把蓝色通道复制一层,再对得到的副本通道应用一些滤镜,操作的目的是把人物脸部瑕疵部分的色调加强.加了滤镜以后再用计算加强几次即可得到我们需要的选区,把选区反选后回到图层面板稍微用曲线等调亮一点,非常完美的效果就出来了. 原图 最终效果  1.打开原图素材,按 CTRL+J,复制一个图层,然后在图中的红圈那里,把图层

Lua中break语句的使用方法详解

  这篇文章主要介绍了Lua中break语句的使用方法详解,是Lua入门学习中的基础知识,需要的朋友可以参考下 当循环中遇到break语句,循环立即终止,程序控制继续下一个循环语句后面. 如果您正在使用嵌套循环(即一个循环里面另一个循环),break 语句将停止最内层循环的执行并开始执行的下一行代码的程序后段. 语法 Lua break语句语法如下: 代码如下: break 例子: 代码如下: --[ local variable definition --] a = 10--[ while l

Ruby中的钩子方法详解

  这篇文章主要介绍了Ruby中的钩子方法详解,本文讲解了什么是钩子方法.included.Devise中的 included.extended.ActiveRecord中的 extended.prepended.inherited等内容,需要的朋友可以参考下 Ruby的哲学理念是基于一个基本的要素,那就是让程序员快乐.Ruby非常注重程序员的快乐,并且也提供了许多不同的方法来实现它. 它的元编程能力能够让程序员编写在运行时动态生成的代码.它的线程功能使得程序员有一种优雅的的方式编写多线程代码.