青岛做网站
新闻动态

投票系统中如何通过柱形图来显示分析投票结果

2019-03-12来源:青岛做网站
   在上一篇文章中青岛做网站更大家分享了投票系统结果如何通过3D饼行图进行分析显示。但是,在投票系统中对投票结果的分析不但可以通过3D饼形图来完成,也可以通过柱形图来分析,今天笔者就跟大家分享一下投票系统中如何通过柱形图来显示分析投票结果。

   在投票系统中柱形图的创建也同样应用了上文中提到的jpgraph类库,关于jpgraph类库今天笔者就不过多介绍,下面就主要介绍一下创建柱形图的步骤:

1、  首先,还是使用include语句引用conn.phpjpgraph.php文件。

2、  应用include语句调用jpgraph_bar.php文件,用来创建BarPlot对象。

3、  从数据库中读取投票总数的数据,计算每项投票在总的投票数量中所占比例,并且将计算结果写入到一个数据组中。

4、  创建Graph对象,生产一个600*300像素大小的画布,设置统计图所在画布d饿位置,以及画布的阴影、背景颜色等。

5、  创建一个矩形的对象BarPlot,设置其柱形图的颜色,在柱形图上方显示投票数据,并格式化数据为整型。

6、  将绘制的柱形图添加到画布中。

7、  添加标题名称和X坐标轴,并分别设置其字体。

8、  最后输出图像。

下面是实现投票系统中通过柱形图来显示分析投票结果的关键代码:

<?php include("conn/conn.php");

include ("jpgraph/jpgraph.php");

include ("jpgraph/jpgraph_bar.php");

//统计投票的总量

$query=mysql_query("select sum(tb_vote_counts) as vote_gross from tb_vote_odd 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_odd where tb_vote_subject=’$_GET[vote_subject]’ ");

while($myrow=mysql_fetch_array($querys)){

       $vote_content[]=$myrow[tb_vote_content];       

       $results=number_format($myrow[tb_vote_counts]/1,2);            //计算每项投票数量占总投票量的比例

       $resultes[]=$results;                     //将获取的值写入到数组中

}

$graph = new Graph(600,300,"auto");  //创建画布

$graph->SetScale("textlin");

$graph->yaxis->scale->SetGrace(20);

 

//创建画布阴影

$graph->SetShadow();

$graph->img->SetMargin(40,30,30,40);//设置显示区左、右、上、下距边线的距离,单位为像素

$bplot = new BarPlot($resultes);//创建一个矩形的对象

$bplot->SetFillColor(’red’);   //设置柱形图的颜色

$bplot->value->Show();//设置显示数字     

$bplot->value->SetFormat(’%d’);//在柱形图中显示格式化的评选结果

$graph->Add($bplot);//将柱形图添加到图像中

$graph->SetMarginColor("lightblue");//设置画布背景色为淡蓝色

$graph->title->Set("优秀员工评选结果");//创建标题

$graph->xaxis->SetTickLabels($vote_content); //设置X坐标轴文字

$graph->title->SetFont(FF_SIMSUN);//设置字体

$graph->xaxis->SetFont(FF_SIMSUN); //设置字体

$graph->Stroke();//输出矩形图表

}

?>

上一篇:在php开发中字符串和数组如何转换    下一篇: 投票系统结果如何通过3D饼行图进行分析显示