Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php jpgraph是什么?

php jpgraph是什么?

PHPz
PHPzasal
2016-06-13 11:20:592100semak imbas

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中文网!!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn