通过3D饼形图分析投票结果,其关键就是3D饼形图的创建和如果将投票结果的数据传递到3D饼形图中。3D饼形图的创建使用的jpgraph类库,在介绍饼形图的创建之前,大家先来了解一下jpgraph类库。
其实,jpgraph是一个强大的绘图组件,能根据用户的需要绘制任意图形,只要提供数据,就能自动调用绘图函数把处理的数据填进去自动绘制。jpgraph类库提供了多种方法创建各种统计图,包括折线图、柱状图和饼形图等。jpgraph是一个完全使用PHP语言编写的类库,可以应用到任何PHP开发环境中。
这里需要说明的是jpgraph需要GD库的支持。如果用户希望jpgraph类库仅对当前站点有效,只需将jpgraph压缩包下的src文件夹中的全部文件复制到网站所在更目录的文件夹即可,在使用时,调用文件夹下的制定文件。
下面青岛做网站就跟大家分享一下使用jpgraph创建3D饼形图的操作步骤:
1、首先需要链接数据库
2、使用include_once语句引用制定的文件,其中包括jpgraph.php、jpgraph_pie.php和jpgraph_pie3.php文件。其中jpgraph_pie.php文件是饼形图对象所用的文件,jpgraph_pie3.php是3D饼图PiePlot3D对象所在的类文件。
3、编写php语句,从数据库中统计出投票数量。
4、酱获取的投票数据写入到一个数组中。
5、创建Graph对象,生产一个540*260像素大小的画布,设置统计图所在画布的位置以及画布的阴影。
6、设置标题的字头已经图例的字体。
7、设置饼形图所在画布位置。
8、将绘制的3D饼形图添加到图像中。
9、最后输出图像。
其中关键的代码如下:
<?php include("conn/conn.php");
include_once ("jpgraph/jpgraph.php");
include_once ("jpgraph/jpgraph_pie.php");
include_once ("jpgraph/jpgraph_pie3d.php"); //引用3D饼图PiePlot3D对象所在的类文件
//统计投票的总量
$query=mysql_query("select sum(tb_vote_counts) as vote_gross from tb_vote_more where tb_vote_subject=’$_GET[vote_subject]’");
$vote_counts=mysql_result($query,0,"vote_gross"); //获取总的投票数量
if($vote_counts>0){
$querys=mysql_query("select * from tb_vote_more where tb_vote_subject=’$_GET[vote_subject]’ ");
while($myrow=mysql_fetch_array($querys)){
$vote_content[]=$myrow[tb_vote_content];
$resultes[]=$myrow[tb_vote_counts]; //将获取的值写入到数组中
}
$graph = new PieGraph(540,260,’auto’); //创建画布
$graph->SetShadow(); //设置画布阴影
$graph->title->Set("应用3D饼形图统计优秀负责人"); //创建标题
$graph->title->SetFont(FF_SIMSUN,FS_BOLD); //设置标题字体
$graph->legend->SetFont(FF_SIMSUN,FS_NORMAL); //设置图例字体
$p1 = new PiePlot3D($resultes); //创建3D饼形图对象
$p1->SetLegends($vote_content);
$p1->SetCenter(0.4,0.5); //设置饼形图所在画布的位置
$graph->Add($p1); //将3D饼图形添加到图像中
$graph->StrokeCSIM(); //输出图像到浏览器
}
?>