Jpgraph图库中Graph Plot步骤以及Stroke()和StrokeCSIM()区别

     Jpgraph提供了强大的图形处理类库,现在jpgraph-3[1].5.0b1官方提供的最高版本,对php的要求是5.10或者以上版本。利用Jgraph提供的库文件,可以满足外面绝大多数的作图,比如常用的柱状图(Barplot)、折线图(LinePlot)和饼状图(PiePlot3D)等等。在Jpgraph中定义了很多直接可以拿过来用的函数,使用起来比较方便。今天我总结下Stroke()和StrokeCSIM()区别图像输出的区别.

首先外面先总体概括一下做一个图的基本步骤:

1、调用外部的php函数。由于Jpgraph是独立的外部图库文件,外面需要根据需要来调用相应的php文件,比如:jpgrap_line.php,jpgraph_bar.php等等。这里函数有两种require()和include,以及延伸的两种:require_once()和include-once(),这里简单说下区别:require()在调用文件是,如果找不到文件,就会报错,并且终止当前文件的继续执行,include()函数找不到文件会警告,但是会执行脚本,至于两个延伸的调用函数,区别应用是:对于调用外部文件,外部文件如果包含有include或者require包含语句情况下,扩展在一个HTML页面只会调用一次,不会像include和require函数调用多次。

2、指定数据。一般指定数据一般是数组,array(),这里不多详细说明。

3、创建一个画布。创建画布时,需要根据不同的图类型使用不同的函数。例如我要创建一个柱状图的,直接使用$graph = new Graph();而如果是饼状图的话就使用$graph=new PieGraph()。要根据具体情况而确定。

4、划分刻度或者给xaxis或者yaxis指定参数。SetScale()设置刻度的类型,类型很多组合方式,自己去研究下:int  text log  line。

5、设置背景、输出统计图像的位置、统计图像的颜色设置等等。函数设置统计图输出的位置$graph->img->SetMargin(),颜色:SetFillMargin()等等

6、定义数据对象。柱状图:BarPlot()、LinePlot()、PiePlot3D()等等。

7、对数据对象做一些设置。颜色啊,指定输出的文字格式,数据输出等等。

8、将数据对象放到画布上。函数Add()

9、输出图像stroke()或者StrokeCSIM()或者StrokeCSIMImage()几种重要的方式。

下面说下stroke()或者StrokeCSIM()区别:

简单的一点说:stroke()输出的是一个图像,你可以测试一下,在浏览器是不能查看源代码的,StrokeCSIM()输出的是maps,返回的是一个HTML页面和map脚本程序。在map中脚本定义了每一个切片的链接目标,饼形图而言:SetCSIMTargets().参考:To generate an CSIM you must use this method at the end of your script instead of the normal Graph::Stroke() method. This method does not send back an image to the browser but rather a HTML page which contains an image map and a "recursive call" back to the image script. See the full JpGraph manual for a detailed explanation on how this works.

现在给一个例子给大家参考:

江苏商络电子机械有限公司(www.jssunlord.com),主要一做各种电子元器件贸易,比如TDK电阻电容和自己研发的的公司,我做个一个饼形图,来展示一下总部人员数量:

代码如下:(如果运行,记得要下载使用Jpgraph库哦)

<?php
/*
 * Created on 2011-8-13
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */
//调用外部类库文件
include_once ("jpgraph/jpgraph.php");
include_once ("jpgraph/jpgraph_pie.php");
include_once ("jpgraph/jpgraph_pie3d.php");
//设置数组数值,部门人数:市场、采购、销售、行政、商务、IT技术、财务、外贸
$datay = array (15,12,4,13,20,4,6,16);
//创建画布:400*400
$graph = new PieGraph(400,400,"auto");
//设置画布阴影
$graph->SetShadow();
//设置饼状图标题名称
$graph->title->Set("南京商络电子总部人数分布");
$graph->title->SetFont(FF_SIMSUN,FS_BOLD);
//设置图例字体legend:图例
$graph->legend->SetFont(FF_SIMSUN,FS_NORMAL);

//创建饼状图对象
$p1 = new PiePlot3D($datay);
//设置图例名称
$p1->SetLegends(array("市场部","采购部","销售部","行政部","商务部","IT技术部","财务部","机械外贸部"));
//为每一个切片设置目标和显示字符串(15,12,4,13,20,4,6,16)
$targ = array("pie3d_csimex1.php?v=1","pie3d_csimex2.php?v=2","pie3d_csimex3.php?v=3","pie3d_csimex4.php?v=4","pie3d_csimex5.php?v=5","pie3d_csimex6.php?v=6","pie3d_csimex7.php?v=7","pie3d_csimex8.php?v=8");
$alts = array("市场部人数:15","采购部:12","销售部:4","行政部:13","商务部:20","IT技术部:4","财务部:6","机械外贸部:16");

//使用SetCSIMTartets为每一个切片设置百分比和目标
$p1->SetCSIMTargets($targ,$alts);
//设置饼状图在画布的位置
$p1->SetCenter(0.5,0.4);
//将饼状图添加到画布
$graph->Add($p1);
//将图像输出出来
$graph->StrokeCSIM();
?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值