社区
基础编程
帖子详情
怎么样用php做较大量数据的统计并且绘出图表
「已注销」
2002-12-18 08:42:29
我正打算做一统计系统,怎么样用php做较大量数据的统计并且绘出图表.
我是这样想的,数据源估计是从EXECEL里面导出来的,然后根据数据生成柱形的图表,
不知各位有没有好的法子,高分相送~!
...全文
433
12
打赏
收藏
怎么样用php做较大量数据的统计并且绘出图表
我正打算做一统计系统,怎么样用php做较大量数据的统计并且绘出图表. 我是这样想的,数据源估计是从EXECEL里面导出来的,然后根据数据生成柱形的图表, 不知各位有没有好的法子,高分相送~!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2002-12-21
打赏
举报
回复
test
「已注销」
2002-12-20
打赏
举报
回复
呵呵,guyanduzui(孤雁独醉西楼下)。我喜欢你上面的代码,谢谢关注,这样的代码有助于我项目的进度。过两天结贴了。各位都有高分~!希望有更好办法的或者有好的思路的请写下。
「已注销」
2002-12-20
打赏
举报
回复
好~!好~!提的好,还有一天结贴了,各位有好办法快快提哈~!呵~!
wuxyun
2002-12-20
打赏
举报
回复
用GD
可用画直线的函数,作出坐标;
数据库的资料先进行算术计算;
用画直线的函数,作折线图;
用画矩形的函数,作柱图;
用画扇形的函数,作饼图。
也可用调用COM的方法,
也要先分析;
将数据导入EXECEL的图表模板。
uGain
2002-12-19
打赏
举报
回复
現在的php版本都帶有GD庫,只要把php.ini中;extension=php_gd.dll前的;去掉就行了。不過要生成gif圖片的話,就要去下載專門的php_gif_gd.dll,因爲gif格式的圖片是有版權的。
「已注销」
2002-12-19
打赏
举报
回复
OK.谢谢关注~!
ly_zhky
2002-12-19
打赏
举报
回复
关注!
guyanduzui
2002-12-19
打赏
举报
回复
<?
//由flag变量来控制显示哪一组数据
/*
函数说明
$data1:y轴数据(数组)
$data2:y轴数据(数组)
$graphdata:y轴数据--百分比(数组)
$label:x轴数据(数组)
$height:图像高度
$width:图像宽度
$font:字号
$dot:决定点的大小
$bg:背景色
$line1 :线色1
$line2:线色2
$line;线色
$text :文本色
$dotcolor:点色
$file:输出图像文件名
*/
$data1=array(33,433,34,434,33,2,1,55);
$data2=array(343,33,2434,33,33,22,33);
$limit1=count($data1);
for($i=0;$i<$limit1;$i++){
$s=$s+$data1[$i];
} //进行统计和$s
for($i=0;$i<$limit1;$i++){
$graphdata1[$i]=ceil(($data1[$i]/($s+1))*100);
} //计算百分比
$limit2=count($data2);
for($i=0;$i<$limit2;$i++){
$s=$s+$data2[$i];
} //进行统计$s
for($i=0;$i<$limit2;$i++){
$graphdata2[$i]=ceil(($data2[$i]/($s+1))*100);
}
//计算百分比
for($i=1;$i<500;$i++){
$label[]=$i;
}
//$label=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52);
//图像尺寸
$font=2;//字体大小(1-5))
$dot=5;//点大小
$bg=array(0,0,0);//背景色
$line=array(0,255,255);
$line1=array(250,250,100);//线色1
$line2=array(250,250,250);//线色2
$text=array(255,255,255);//文本色
$dotcolor=array(250,255,255);//点色
xianxingtu($data1 ,
$data2,
$graphdata1,
$graphdata2 ,
$label,
$height,
$width ,
$font,
$dot,
$bg,
$line,
$line1,
$line2,
$text,
$dotcolor,
$file) ;//引用函数
function xianxingtu($data1 ,
$data2,
$graphdata1,
$graphdata2,
$label ,
$height,
$width ,
$font,
$dot,
$bg,
$line,
$line1,
$line2,
$text,
$dotcolor,
$file)
{
$jc=$height/100;
$fontwidth= imagefontwidth ($font);
$fontheight=imagefontheight($font); //定义宽高
$image= imagecreate ($width,$height+20); //创建图像
$bg= imagecolorallocate($image ,$bg[0],$bg[1],$bg[2]);
$line=imagecolorallocate($image ,$line[0],$line[1],$line[2]);
$line1=imagecolorallocate($image ,$line1[0],$line1[1],$line1[2]);
$line2=imagecolorallocate($image ,$line2[0],$line2[1],$line2[2]);
$text=imagecolorallocate($image ,$text[0],$text[1],$text[2]);
$dotcolor=imagecolorallocate($image ,$dotcolor[0],$dotcolor[1],$dotcolor[2]);//设定颜色
imageline ($image,0,0,0,$height,$line); //绘一条从(00)到(0高)的线
imageline($image,0,$height,$width,$height,$line); //绘一条从(0高)到(宽高)的线
for ($i=1;$i<11;$i++) {
imagedashedline($image,0,$height - $jc*$i*10 ,$width ,$height -$jc*$i*10 ,$line);
imagestring ($image,$font,0,$height-$jc*$i*10,$i*10,$text);
} //此函数划虚线并以$font字号把图像平均分成十分,标上文字
for ($i=0;$i<count($data1);$i++){
#echo $tmp."<BR>";
$x1=(($width-50)/count($data1))*($i)+40;
#echo $x1 ."<BR>";
$y1=$height-$graphdata1[$i]*$jc;
$x2=$x1;
$y2=$y1+$graphdata1[$i]*$jc;
#echo $y1."<BR>";
imagestring($image, $font, $x1, $y1-2*$fontheight, $data1[$i] , $text);
imagearc ($image, $x1, $y1, $dot, $dot, 0 , 360, $dotcolor); //画椭圆
imagefilltoborder($image, $x1, $y1, $dotcolor, $dotcolor);//填充
imagestring($image, $font, $x1, $y2, $label[$i], $text);
if ($i>0) {
imageline($image, $tmpx1, $tmpy1, $x1, $y1, $line1);
}
$tmpx1=$x1;$tmpy1=$y1;
}
for ($i=0;$i<count($data2);$i++){
#echo $tmp."<BR>";
$x1=(($width-50)/count($data2))*($i)+40;
#echo $x1 ."<BR>";
$y1=$height-$graphdata2[$i]*$jc;
$x2=$x1;
$y2=$y1+$graphdata2[$i]*$jc;
#echo $y1."<BR>";
imagestring($image, $font, $x1, $y1-2*$fontheight, $data2[$i] , $text);
imagearc ($image, $x1, $y1, $dot, $dot, 0 , 360, $dotcolor); //画椭圆
imagefilltoborder($image, $x1, $y1, $dotcolor, $dotcolor);
imagestring($image, $font, $x1, $y2, $label[$i], $text);
if ($i>0) {
imageline($image, $tmpx1, $tmpy1, $x1, $y1, $line2);
}
$tmpx1=$x1;$tmpy1=$y1;
}
imagejpeg ($image);
}
线性图图示;
只是思路,没有测试;
tntxhy
2002-12-19
打赏
举报
回复
如果并非一定要生成的是柱形的图片,可以考虑用改变一个固定图片的宽或者高来实现画图。
telescope
2002-12-19
打赏
举报
回复
对于数据库来说,数据量的大小不是什么障碍,关键是动态地生成图表.
生成图表的例子到处都是,在运行生成图表的程序之前,你的PHP需要一个GD库
profans
2002-12-19
打赏
举报
回复
关注中。。。我也遇到这样的项目。
xqi8
2002-12-19
打赏
举报
回复
gz
毕业设计-网络在线预约管理系统(源代码+说明)
基于
PHP
MVC架构+Bootstrap前端的高效、简洁网络在线预约管理系统,灵活的交叉权限控制,多样的
数据
图表
,各项
数据
的分类
统计
报表。 特性 1.灵活的权限分配; 2.基于Bootstrap简洁精巧的管理界面; 3.高效的
数据
查询导出管理; 4.高效多样的
数据
分类
统计
图表
、报表; 5.预约
数据
编辑历史记录查看功能; 系统在生活中的应用十分广泛,无论是个人还是企业,在日常生活中都需要系统,不仅可以提高工作效率和质量,也可以提高
数据
准确性,以下是系统的好处: 1. 提高效率:系统可以自动化处理
大量
的
数据
和信息,从而减少了人工操作的时间和错误率,提高了工作效率和质量。 2. 降低成本:系统可以减少人力资源和物质资源的浪费,使企业在生产和管理上节约成本,提高企业效益。 3. 提高
数据
准确性:系统可以自动化管理和处理
数据
,减少了人工操作中的错误和遗漏,从而提高了
数据
的准确性和可靠性。 4. 增强决策支持:系统可以为企业提供
大量
的有用信息和
数据
分析,为企业决策提供支持和依据,提高了决策的准确性和科学性。 5.提高客户服务:系统可以为客户提供更快捷、更准确的服务,提高了客户满意度和忠诚度。
Think
PHP
6内核学生成绩管理系统源码
Think
PHP
6内核学生成绩管理系统源码 一款注重优化成绩采集方法、丰富成绩分析维度的成绩
统计
系统,力争
做
到符合教师工作习惯、使用方法简单、
数据
分析多样、分析结果科学,为教师的试卷分析、教育科研提供
数据
参考。
统计
学生成绩是教育教学过程中不可缺少的一项工作,它为教师的教与学生的学提供
数据
参考。同时这又是一项比较复杂、繁琐的工作,成绩的录入、
统计
、保存占用教师
大量
时间与精力。我们希望能从教师工作习惯出发,提供多种成绩采集方式、丰富的
统计
项目、直观的
统计
图表
,和长期、安全的
数据
存储方式。 这个项目前端采用 X-admin2.2 、后端采用Think
PHP
6.0 框架开发。 主要功能: 1、设置系统信息 2、单位信息管理、类别管理 3、学期、班级、学科管理、班级历次考试成绩查询 4、管理员、权限、角色管理 5、教师与学生信息管理、学生历次成绩查询 6、考试信息设置 7、设置参加考试学科及各学科的满分、优秀、及格分数线。 8、生成学生的考试号、试卷标签、成绩采集表 9、在线录入和修改成绩、表格录入成绩、使用扫码枪录入成绩 10、查看成绩列表、成绩
图表
11、查看成绩
统计
结果(
数据
表格、
统计
表) 12、查看学生历次成绩(
数据
表格、
统计
表)、学生成绩报告 13、成绩呈现形式:得分、得分率、优秀率、及格率、总分、平均分、中位数、众数、标准差、各分数段成绩数…… 14、教师和学生登录后查询成绩
数据
可视化
图表
--制作精美
图表
大全
数据
可视化
图表
--制作精美
图表
大全、offset
做
动态
图表
、VBA动态图、倒序棱锥
图表
、堆积图(完成度)、分段
图表
、实时
数据
点突出
图表
、组合
图表
、涨跌柱
图表
、折线动态
图表
、正负分界
图表
ONES开源ERP系统 0.3
ONES是一套开源ERP系统,为您提供ERP、CRM、OA、HRM等解决方案,项目前端基于AngularJS+Bootstrap,后端使用
PHP
+MySQL,使用Think
PHP
框架,基于B/S架构,客户端无缝跨平台,支持现代浏览器。ONES 0.3 主要更新内容:2015-03-22基础框架:•优化:前端样式重写,去除ACE Admin代码(因授权问题)•优化:控制面板模块支持拖放及缩放操作,并自动持久化+本地化存储•优化:一级导航栏分离至页面顶部,优化操作体验,不再出现多级寻找菜单问题•优化:二级/三级导航菜单图标支持•新增:支持自定义数字型
数据
小数点保留位•新增:页内增加当前模块WIKI,讨论区,在线支持等,使用者可随时获得使用帮助•
大量
BUG修复及操作优化可安装应用:•订单支持是否含税•出/入库单据支持批量选择仓库•全新的AnalyticsAPI应用,为其他各应用提供
统计
图表
接口,其他应用不再需要手动编写
统计
图表
部分代码,通过约定和配置可完整实现。特色:* 致力于解决实际问题* APP化的项目组成+灵活的前后端插件机制* 灵活的RBAC+工作流节点权限+行级权限扩展接口组合进行权限管理* 应用支持无修改原版本文件进行二次开发* 独特的通用视图功能,无需重复编写的前端文件* 强大可定制的工作流引擎* 灵活的
数据
模型功能,可方便实现
数据
字段扩展
基础编程
21,887
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章