//
参数以
a
为参数名传入,
a
的文本形态应该是用“
,
”分割的若干数字连接的字符串
//
这里首先判断
a
是否存在
if($_GET["a"]=="") die("0")
//
将得到的数据分解,存入数组
$shuju
中
$shuju=split(",",$_GET["a"])
//
再次判断数据的合法性,返回错误代码
if(count($shuju)==0) die("2")
//
定义整个图形的宽度和高度
//
读者可以根据需要修改这两个变量的值
$tukuan=300
$tugao=150
//
定义一个数组,用来存放每一个色块的角度范围
$jiaodu = array()
//
定义存贮数据和的变量
$total=0
//
遍历数组求和
for ($i = 0$i <count($shuju)$i++) {
if(!is_numeric($shuju[$i])) die("1")
$total+=$shuju[$i]
}
//
再次遍历,计算色块角度并存入数组
for ($i = 0$i <count($shuju)$i++) {
array_push ($jiaodu, round(360*$shuju[$i]/$total))
}
//
创建图像
$image = imagecreate($tukuan, $tugao)
//
定义一个灰色背景色
,
这个颜色其实就是大家很熟悉的页面色系
16
进制数字表示的
#EEEEEE
$white = imagecolorallocate($image, 0xEE, 0xEE, 0xEE)
//
再定义
10
对深浅对应的彩色,存入二维数组
$yanse = array(
array(
imagecolorallocate($image, 0x97, 0xbd, 0x00),
imagecolorallocate($image, 0x00, 0x99, 0x00),
imagecolorallocate($image, 0xcc, 0x33, 0x00),
imagecolorallocate($image, 0xff, 0xcc, 0x00),
imagecolorallocate($image, 0x33, 0x66, 0xcc),
imagecolorallocate($image, 0x33, 0xcc, 0x33),
imagecolorallocate($image, 0xff, 0x99, 0x33),
imagecolorallocate($image, 0xcc, 0xcc, 0x99),
imagecolorallocate($image, 0x99, 0xcc, 0x66),
imagecolorallocate($image, 0x66, 0xff, 0x99)
),
array(
imagecolorallocate($image, 0x4f, 0x66, 0x00),
imagecolorallocate($image, 0x00, 0x33, 0x00),
imagecolorallocate($image, 0x48, 0x10, 0x00),
imagecolorallocate($image, 0x7d, 0x64, 0x00),
imagecolorallocate($image, 0x17, 0x30, 0x64),
imagecolorallocate($image, 0x1a, 0x6a, 0x1a),
imagecolorallocate($image, 0x97, 0x4b, 0x00),
imagecolorallocate($image, 0x78, 0x79, 0x3c),
imagecolorallocate($image, 0x55, 0x7e, 0x27),
imagecolorallocate($image, 0x00, 0x93, 0x37)
)
)
//
由下至上画
10
个像素高的深色饼图,作为阴影
$yuanxin_x=$tukuan/
2
for ($h = $tugao/
2+5$h >$tugao/
2-5$h--) {
$kaishi=0
$jieshu=0
for ($i = 0$i <count($shuju)$i++) {
$kaishi=$kaishi+0
$jieshu=$kaishi+$jiaodu[$i]
$yanse_i=fmod($i,10)
imagefilledarc($image,$yuanxin_x,$h,$tukuan,$tugao-20,$kaishi,$jieshu,$yanse[1][$yanse_i],IM
G_ARC_PIE)
$kaishi+=$jiaodu[$i]
$jieshu+=$jiaodu[$i]
}
}
//
在最高处
(
也就是
$h
最小时
)
画一个浅色饼图,
这个浅色图跟先画上的深色饼图就能产生立
体效果了
for ($i = 0$i <count($shuju)$i++) {
$kaishi=$kaishi+0
$jieshu=$kaishi+$jiaodu[$i]
$yanse_i=fmod($i,10)
imagefilledarc($image,
$yuanxin_x,
$h,
$tukuan,
$tugao-20,
$kaishi,
$jieshu,
$yanse[0][$yanse_i], IMG_ARC_PIE)
$kaishi+=$jiaodu[$i]
$jieshu+=$jiaodu[$i]
}
//
设定文件头
header('Content-type: image/png')
//
输出图像
imagepng($image)
//
释放资源
imagedestroy($image)
?>
使用方法
在需要显示图像的位置插入如下代码
<img src="bing_img.php?a=3,2,3,4"/>
a
的文本格式是由“
,
”连接的若干个数据的字符串,
get
方式传入。
1、数据处理工具:Excel
数据分析师,在有些公司也会有数据产品经理、数据挖掘工程师等等。他们最初级最主要的工具就是Excel。有些公司也会涉及到像Visio,Xmind、PPT等设计图标数据分析方面的高级技巧。数据分析师是一个需要拥有较强综合能力的岗位,因此,在有些互联网公司仍然需要数据透视表演练、Vision跨职能流程图演练、Xmind项目计划导图演练、PPT高级动画技巧等。
在Excel,需要重点了解数据处理的重要技巧及函数的应用,特别是数据清理技术的应用。这项运用能对数据去伪存真,掌握数据主动权,全面掌控数据;Excel数据透视表的应用重在挖掘隐藏的数据价值,轻松整合海量数据:各种图表类型的制作技巧及Power Query、Power Pivot的应用可展现数据可视化效果,让数据说话。因此想从事数据分析岗位的,需要快速掌握快各种Excel数据处理与分析技巧。
2、数据库:MySQL
Excel如果能够玩的很转,能胜任一部分数据量不是很大的公司。但是基于Excel处理数据能力有限,如果想胜任中型的互联网公司中数据分析岗位还是比较困难。因此需要学会数据库技术,一般Mysql。你需要了解MySQL管理工具的使用以及数据库的基本 *** 作;数据表的基本 *** 作、MySQL的数据类型和运算符、MySQL函数、查询语句、存储过程与函数、触发程序以及视图等。比较高阶的需要学习MySQL的备份和恢复;熟悉完整的MySQL数据系统开发流程。
3、数据可视化:Tableau &Echarts
如果说前面2条是数据处理的技术,那么在如今“颜值为王”的现在,如何将数据展现得更好看,让别人更愿意看,这也是一个技术活。好比公司领导让你对某一个项目得研究成果做汇报,那么你不可能给他看单纯的数据一样,你需要让数据更直观,甚至更美观
如何理解数据可视化?像我们以前上学的时候学过的柱状图,饼状图,也是数据可视化的一种。只是在现在,简单的柱状图已经不能满足工作所需。目前比较流行的商业数据可视化工具是Tableau &Echarts。
Echarts是开源的,代码可以自己改,种类也非常丰富,这里不多做介绍,可以去创建一个工作区了解下。
4、大数据分析:SPSS &Python&HiveSQL 等
如果说Excel是“轻数据处理工具”,Mysql是“中型数据处理工具”那么,大数据分析,涉及的面就非常广泛,技术点涉及的也比较多。这也就是为什么目前互联网公司年薪百万重金难求大数据分析师的原因
大数据分析需要处理海量的数据,这对于数据分析师的工作能力要求就比较高,一般来说,大数据分析师需要会
(1)会使用Hive的SQL方法HiveQL来汇总、查询和分析存储在Hadoop分布式文件系统上的大数据集合。知道Hive如何在Hadoop生态系统进行数据分析工作。
(2)会一些SPSS modeler基础应用,这部分技能对应数据建模分析师
(3)何使用R语言进行数据集的创建和数据的管理等工作;会使用R语言数据可视化 *** 作,让学员学会如何用R语言作图,如条形图、折线图和组合图等等;是R语言数据挖掘,本部分数据挖掘工程师
(4)用Python来编写网络爬虫程序,从页面中抓取数据的多种方法,提取缓存中的数据,使用多个线程和进程来进行并发抓取等
总结一下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)