欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php jpgraph是什么?

程序员文章站 2022-04-29 22:04:50
...

php jpgraph是一个完全用PHP编写的面向对象的图形创建库,可以在任何PHP脚本中使用,且支持PHP5和PHP7。

php jpgraph是什么?

JpGraph是一个完全用PHP编写的面向对象的图形创建库,可以在任何PHP脚本中使用(支持CGI / APXS / CLI版本的PHP),现在最新的版本是4.2.6( JpGraph 4.x系列支持PHP5(PHP 5.1.0或更高版本)和PHP 7(PHP 7.0,7.1和7.2))

JpGraph能做什么呢?

以前用PHP作图时我们是使用PHP内置GD库用来画图操作图片,但是它提供的函数太多难记,不好操作,需要掌握复杂抽象的画图函数,或者借助一些网上下载的画柱形图、饼形图的类来实现,而JpGraph图表类库的出现,它使得作图变成了一件非常简单的事情,你只需从数据库中取出相关数据,定义标题,图表类型,然后的事情就交给JpGraph,只需掌握为数不多的JpGraph内置函数,就可以画出非常炫目的图表,比如经常用到的折线图,柱状图,饼状图等

官网下载JpGraph地址 https://jpgraph.net/download/

下载解压后将解压文件中的src移到你的项目中即可(src中Examples有官网提供的非常多的例子,研究这些demo是学习JpGraph最好的途径)

注:开启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

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

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

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

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

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

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

实例

把jpgraph\Examples\accbarex1.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,需要注意其运行环境、版本、操作系统以及代码的完整性,不然相同的代码可能却无法正确运行。

更多相关知识,请访问 PHP中文网!!

相关标签: php jpgraph