图形化的成绩系统设计与实现

点赞:30678 浏览:142900 近期更新时间:2024-01-22 作者:网友分享原创网站原创

摘 要:图形化的成绩分析系统,试图采用PHP语言及JpGraph类库实现学生课业成绩在WEB页面中的图形化展示.将数据经过汇总分析,进行横向、纵向比对,以图表的表式简洁、直观、清晰地展现出来,为教学实施提供指导依据.研究PHP语言在行业数据发布与展示系统中的应用,JpGraph类库数据填图的技术实现.

关 键 词 :PHP;JpGraph;图形;数据

引言

教师在教学实施中累积了大量的数据,反映了学生在每一阶段的学习状态,可作为形成性考核成绩的一部分.目前这些数据表现大都是离散的、滞后的,如何通过系统的分析,将数据以可视化的图表展现出来,简洁易懂、一目了然,为后续的教学实施提供参考.这是本论文研究的重点.

为了实现对教学过程数据的快速查询、汇总及图形化显示,设计开发了图形化的成绩分析系统.采用浏览器/ 怎么写作器(B/S)模式,Apache+ PHP+MySQL框架.图形显示模块的实现,是利用基于PHP 语言的JpGraph类库进行数据填图,实现代码简单,大大缩短了软件代码开发过程.文章围绕JpGraph图像生成技术展开.

1.系统的设计方案

图形化的成绩分析系统的设计理念是将学生形成性考核中,每阶段的作业情况,与课程对应的岗位能力需求就行匹配,展示差距,明确后阶段学习的重点方向.考虑到各岗位对具体能力的不同需求,成绩不再是一个笼统的分数,而是根据能力细分为若干个指标.

如图1所示,柱状图表示学生需要达到的岗位最低要求,折线为学生现有水平,可以清晰地反映出,其中两项能力,同学们己经达到岗位要求,另外四项岗位能力,需要在后续课程中加强训练.

图1

图形化的展示模块是本系统开发的重点,主要设计以下几个类型图表:

(1)汇总数据分析图,反映学生平均水平与各岗位能力需求的对比.将所有考评成绩按考核指标求平均,与各岗位需求数值比较作图,对应不同的岗位,系统生成不同的图形.

图形化的成绩系统设计与实现参考属性评定
有关论文范文主题研究: 关于参考文献的论文范文集 大学生适用: 学士学位论文、学士学位论文
相关参考文献下载数量: 55 写作解决问题: 学术论文怎么写
毕业论文开题报告: 论文模板、论文摘要 职称论文适用: 杂志投稿、职称评中级
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 最新题目

(2)学情动态图,反映学生个体、整体的学业情况,各学习阶段成绩纵向比较.如:给定学生姓名和岗位能力,以图形显示其在这项指标上的进步情况.

(3)岗位匹配图,综合学生多次考核数据,与各岗位需求对比,以确定学生是否能胜任对应工作岗位.

2.JpGraph库介绍

JpGraph类库是基于PHP 语言编写的面向对象的图形类库,其绘图组件能根据用户的需求生成多种类型的图表,包括折线图、柱状图和饼状图等.图片可以在网页上直接显示,也可保存为多种格式的图片.首先从数据库中取得统计数据,定义标题、图表类型等,然后通过PHP 中的JpGraph类库, 便可在统计数据的基础上完成各类统计图.

JpGraph可在http://jpgraph.网站下载,目前常用的版本是jpgraph-3.5.0b1.tar.gz.下载完JpGraph类库后解压缩至PHP存放类库的地方,为其文件夹命名为jpgraph,这样使用JpGraph时可以通过以下语句调用该库.

require_once('jpgraph/jpgraph.php');

?>

JpGraph是基于GD 库设计的,系统中一定要支持GD库.需要编辑php.ini配置文件,将“extension等于php_gd2.dll”一行前面的分号去掉,确保启用GD扩展.

3.图形处理实现

在WEB 页面上创建和使用JpGraph图片的主要步骤为:

(1)创建脚本,获得数据.

(2)生成图片,指定图片如何构建、图形大小、颜色、字体以及要在图片上展示的其他内容.

(3)在Web页面上以img标签显示图像.

3.1 获取数据

为与一般办公软件兼容,成绩数据初始文件为excel电子表格,以csv格式保存,可通过本系统导入到mySQL数据库中,主要代码为:

mysql_query("LOAD DATA INFILE 'import.csv' INTO TABLE `score1` character set gbk FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;") or die ('Error: '.mysql_error ());

?>

上段代码中,character set gbk参数是关键,用于将csv编码格式与mySQL中表格编码格式相匹配,确保中英文字符的正确导入.

3.2 生成图片

以图1所示岗位达标图为例,以下为主要代码.生成的图片反映了学生平均水平与指定岗位之间的对比,图表由柱状图与折线图二部分组成,填图部分代码如下所示.

require_once ('..\jpgraph\src\jpgraph.php');

require_once ('..\jpgraph\src\jpgraph_bar.php');

require_once ('..\jpgraph\src\jpgraph_line.php');

//生成图表

$graph 等于 new Graph(450,220,'auto');

$graph->SetScale("textlin");

$graph->yaxis->SetTickPositions(array(0,2,4,6,8,10,12,14,16,18,20), array(1,3,5,7,9,11,13,15,17,19)); $graph->SetBox(false);

$graph->ygrid->SetFill(false);

$graph->xaxis->SetTickLabels(array('layout','integrity','details','color','norm','innovation'));


$graph->yaxis->HideLine(false);

$graph->yaxis->HideTicks(false,false);

//创建柱状图

$b1plot 等于 new BarPlot($datay);

$graph->Add($b1plot);

$b1plot->SetColor("white");

$b1plot->SetFillGradient("#4B0082","white",GRAD_LEFT_REFLECTION);

$b1plot->SetWidth(22);

//创建折线图

$p1 等于 new LinePlot($standardline);

$graph->Add($p1);

$p1->SetColor("#55bbdd");

$p1->mark->SetType(MARK_FILLEDCIRCLE,'',1.0);

$p1->mark->SetColor('#55bbdd');

$p1->mark->SetFillColor('#55bbdd');

$p1->SetCenter();

// 显示图片,生成图片文件.

$myfile 等于 "picture-01.png";

if (file_exists($myfile)) {

$result等于unlink ($myfile);

}

$graph->Stroke('picture-01.png');

?>

3.3 在Web页上显示图表

嵌入SQL语句,从数据库中读入成绩数据,并传递给填图文件,生成的图片在页面中显示.

require('connect.php');

//获取柱状图的数据,datay

$str_sql等于"select g(layout),g(integrity),g(details),g(color),g(norm),g(innovation) from score1";

$result等于$conn->query($str_sql);

$datay等于$result->fetch_row();

//获取折线图的数据,standardline

$str_sql等于"select layout,integrity,details,color,norm,innovation from standard where worknamelike '%一类岗位%'";

$result等于$conn->query($str_sql);

$standardline等于$result->fetch_row();

//调用图表生成模块

require("picture.php" );

?>

4.结束语

本系统针对课业成绩数据的分析汇总,设计各类直观的图表格式.通过研究JpGraph在WAMP架构网站下的绘图模板及绘图函数调用,方便快捷地实现了折线图、柱状图、饼状图、雷达图等数据图形的自动生成.协助教师直观得了解学生的学习状态,把控教学进度;帮助学生了解各项知识技能的掌握情况,明确学习目标.系统具用一定的实用价值.