php借助折线图分析数据 php绘制曲线图( 四 )


php并不局限于输出HTML文本 。php通过使用GD扩展库还能用来动态输出图像,例如文字按钮、验证码、数据统计图等 。哈可以轻松地编辑图像,力图处理缩略图和为图片添加水印等,具有强大的图像处理能力 。
首先我们来说下GD库 , 绘制个简单图形的一些步骤:
1、首先是创建画布,此处我们利用imagecreatetruecolor函数,也可以利用imagecreate , 区别在于前者创建了一个真彩图像,后者创建了一个基于调色板的图像
$img=imagecreatetruecolor(100,100),其中有两个参数分别对应 , 我们创建的图像的宽和高
2、设置一些必要的"染料盒"
其实就是定义一些之后会用到的填充颜色,此处我们统一定义在这个位置 , 此处我们利用imagecolorallocate函数
$white=imagecolorallocate($img,0xFF,0xFF,0xFF)或者可以使用RGB的颜色命名方式 如$white=imagecolorallocate($img,255,255,255);
$gray = imagecolorallocate($img, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($img, 0x90, 0x90, 0x90);
$navy = imagecolorallocate($img, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($img, 0x00, 0x00, 0x50);
$red = imagecolorallocate($img, 0xFF, 0x00, 0x00);
$darkred = imagecolorallocate($img, 0x90, 0x00, 0x00);
$black=imagecolorallocate($img,0x00,0x00,0x00);
此处我们定义多一些所需要的颜色
3、填充区域颜色,可以简单的理解为填充图片的背景颜色,利用imagefill函数
imagefill($img,0,0,$white),此处的0 0表示从坐标x y处开始填充背景色
4、绘制图形,例如绘制饼状图,所需要的是imagefilledarc函数
imagefilledarc()的参数相对来说较多,形如imagefilledarc($img,50,$i,100,50,0,45,$red,IMG_ARC_PIE);
其中分别表示以red颜色字img图像上绘制一个以50,$i为起点,以0 45角度这个范围内绘制弧线
5、期间我们还可以添加一些说明问题,比如水平的添加一个字符串,利用 imagestring($img,1,20,40,"hello,world!",$red) , 表示在img图片中以20 40为坐标,写上一个红色的hello,world!字样
6、就是讲图像输出
首先要告之浏览器要以何种图片格式输出,例如以png输出,则使用header("Content-type:image/png");
其次 将图片输出到浏览器中,imagepng($img);
最后,销毁图片,即释放该图片存储所占用的内存 imagedestroy(img);,
如何用图表进行数据分析?1、柱状图
柱状图是一种以长方形的长度为变量的表达图形的统计图表,用纵向条纹表示数据分布的情况,用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量 , 通常利用于较小的数据集分析 。对于比较两种或更多同性质数据的具体变化和发展趋势有着比较好的效果 。
2、折线图
折线图可以显示随着时间变化而变化的数据,因此折线图适用于分析时间间隔大小相同情况下数据的变化情况 。一般情况下,折线图中的类别数据是沿水平轴均匀分布的,所有信息的具体数据值沿垂直轴均匀分布 。通常折线图和柱形图一起使用分析数据数据效果更佳 , 既有具体值的对比,又有整体发展趋势的比较,琐碎处和大局都兼顾到了 。
3、条形图
条形图可以理解为横过来的柱状图,是主要用来分析对比各个项目之间的比较情况 。当需要用图表分析的数据横向项目比较少,纵向值跨度又比较大的时候,就需要用条状图了 。
4、饼图
饼图,顾名思义,就是用来比较所分“大饼”的分量,一般用来显示每一数值与总量的占比 。分析市场占比份额之类的数据,用饼图是最适合不过了 。FineReport有三维饼图、复合饼图、牵引线等饼图类型,可看到更详细的分饼效果 。