phplot生成图片类用法详解


Posted in PHP onJanuary 06, 2015

本文实例讲述了phplot生成图片类用法。分享给大家供大家参考。具体分析如下:

phplot是一个利用php的图象函数编写的一个自动生成类,首先申明一下,我对他也只是了解. 在原来的有些版本好象还需要多方面的配置和支持,不过现在都用的是php5系列了,大家只要了解一些常用到的函数,就比如我们学习一种软件一样,只需要懂得怎样使用他就可以了,如果感兴趣的朋友可以深入的学习学习,不过对于我们大多数的朋友来说,只要会使用他就可以了,毕竟也不是常用,只是需要用php作图的时候才用到他。所以我们只需要知道他怎么用就可以了,那么就必须知道他的函数的作用,好比我们学习discuz一样,要懂得怎么用他就可以了!

phplot的下载地址是http://www.sourceforge.net/projects/phplot/
也可以从此处本站下载:https://3water.com/codes/36315.html

他的常用函数分为几个类:配置函数,显示函数,颜色函数.

1.配置函数:配置phplot使用什么样的类型,以及以什么样的方式显示图象。

a.SetDataType($which_dt):设定使用的数据类型,在这个里面可以使用多种类型。

(1)text-date:数据沿着x柱,等间距排行。每个数组元素代表x轴上的某一位置的点,他同时也是数组,第一个元素代表x坐标,后面的所有元素都代表y坐标。

(2) data-data:与上面的类型相似,不同的是数值数组的第二个元素代表x坐标,后面的代表y坐标,而第一个元素仅仅是一个标签。

(3)data-data-error:与data-data类似,不同的是他的数值数组后面还有两个元素代表error_plus和error_minus,如

(data_labl,x_position,y_position,error_plus,error_minus).

b.SetDataValues($which_dv):把一个数组$which_dv赋给类的一个变量$this->data_values.这个函数要开始作图之前调用。

c.SetPlotType($which_pt):设定图表的类型,可以是bars,lines,linepoints,area,points,pie等。

d.SetErrorBarLineWidth($wd):设定错误栏的宽度。

e.SetFileFormat($which_file_format):设定输出的图象文件的格式,可以是GIF,PNG,JPEG等。还有要看你的GD库是否支持。

f.SetUseTTF($which_ttf):设定是否使用TTF,如果编译php支持TTF,就使用SetUseTTF("1");否则设置为0.

2.显示函数:显示图象设定输出图表所使用的线条的类型,宽度等参量,还可以设定坐标轴刻度的间距,图表的大小等。

a.SetErrorBarShape($which_ebs):设定精度线的类型,可以是line或者是tee,如果是tee,则T型线的半度设定为SetErrorBarSize.

b.SetErrprBarSize($which_ebs):设置精度线的宽度。

c.SetHorizTickIncreament($which_ti):设定x轴的显示刻度的间距。

d.SetHorizTicks($whick_nt):设定x轴显示刻度的个数。(不能和SetHorizTickIncreament)

e.SetNumVertTicks($which_nt):设定x轴显示刻度的个数。(不能和SetVertTickIncreament)

f.SetPlotArearpixels($x1,$y1,$x2,$y2):设定图表大小。

g.SetPointShape($which_pt):设置定点的形状:rect,circle,diamond,triangle,dot,line,halfline.

h.SetPointSize($whick_ps教程):设定点的宽度。

i.SetPrecisionX($whick_prec):设定x轴的精度。$whick_prec代表小数点后面数字的个数。

j.SetPrecisiony($whick_prec)设定y轴的精度。$whick_prec代表小数点后面数字的个数。

k.SetSjading($whick_s):设定阴影的宽度。

l.SetTickLength($which_tl):设定坐标轴上的标记线的长度,单位为pixel.

m.SetTile($title):设定图表的标题。

n.SetVertTickIncreament($whick_ti):和SetHorizTicks($whick_nt)这两个函数用于设定坐标轴上标记线的垂直和水平间隔。

o.SetXDataLabelMaxlength($which_xdlm):设定x轴上的标签的最大长度。

p.SetXGridLabelType($which_xtf):设定x轴的标签类型,可以是time,title,data,none或者default.

(1).time:由函数strftime()设定。

(2).title:文本类型。

(3).data:用函数number_format()格式化数字。

(4).none:没有任何标签。

(5).default:按照输入的形式输出.

3.颜色函数:颜色函数用于设定图表中的各元素的显示颜色,包括图象背景颜色,删格线的颜色,标题颜色等!

a.SetBackgroundColor($which_color):设定整个图象的背景颜色。

b.SetGridColor($which_color):设定删格线的颜色。

c.SetLegend($which_legend):参数是一个文本数组,他的内容显示在一个图列框中。

d.SetLegendPixels($which_x,$which_y,$which_type):设定图列框左下角点的坐标,最后一个参数以后可用。

e.SetLightGridColor($which_color):删割线线有两种颜色,这个函数设定其中的一种。

f.SetLineWidth($which_lt):设定图表中使用的线宽,他也影响精度线的宽度。

g.SetLineStyles($which_sls):设定线条的类型,可以是实线或者虚线。

h.SetPlotBgColor($which_color):设定使用SetPlotAreaPixels()函数设定的区域的颜色。

i.SetTextColor($which_color):设定文本的颜色,默认是黑色。

j.SetTickColor($which_color):设定坐标轴上刻线的颜色。

k.SetTitleColor($which_color):设定标题颜色。

看个实例,生成上面图形的代码如下:

# PHPlot Demo   

# 2008-01-09 ljb   

# For more information see http://sourceforge.net/projects/phplot/   

 

# Load the PHPlot class library:   

require_once 'phplot.php';   

 

# Define the data array: Label, the 3 data sets.   

# Year,  Features, Bugs, Happy Users:   

$data = array(   

  array('2001',  60,  35,  20),   

  array('2002',  65,  30,  30),   

  array('2003',  70,  25,  40),   

  array('2004',  72,  20,  60),   

  array('2005',  75,  15,  70),   

  array('2006',  77,  10,  80),   

  array('2007',  80,   5,  90),   

);   

 

# Create a PHPlot object which will make a 600x400 pixel image:   

$p = new PHPlot(600, 400);   

 

# Use TrueType fonts:   

$p->SetDefaultTTFont('./arial.ttf');   

 

# Set the main plot title:   

$p->SetTitle('PHPlot Customer Satisfaction (estimated)');   

 

# Select the data array representation and store the data:   

$p->SetDataType('text-data');   

$p->SetDataValues($data);   

 

# Select the plot type - bar chart:   

$p->SetPlotType('bars');   

 

# Define the data range. PHPlot can do this automatically, but not as well.  

$p->SetPlotAreaWorld(0, 0, 7, 100);   

 

# Select an overall image background color and another color under the plot:   

$p->SetBackgroundColor('#ffffcc');   

$p->SetDrawPlotAreaBackground(True);   

$p->SetPlotBgColor('#ffffff');   

 

# Draw lines on all 4 sides of the plot:   

$p->SetPlotBorderType('full');   

 

# Set a 3 line legend, and position it in the upper left corner:   

$p->SetLegend(array('Features', 'Bugs', 'Happy Users'));   

$p->SetLegendWorld(0.1, 95);   

# Turn data labels on, and all ticks and tick labels off:   

$p->SetXDataLabelPos('plotdown');   

$p->SetXTickPos('none');   

$p->SetXTickLabelPos('none');   

$p->SetYTickPos('none');   

$p->SetYTickLabelPos('none');   

 

# Generate and output the graph now:   

$p->DrawGraph();

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
PHP Ajax实现页面无刷新发表评论
Jan 02 PHP
追求程序速度,而不是编程的速度
Apr 23 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 PHP
php实现快速排序法函数代码
Aug 27 PHP
PHP 类相关函数的使用详解
May 10 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
PHP编写RESTful接口
Feb 23 PHP
Yii2中使用asset压缩js,css文件的方法
Nov 24 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
Jun 19 PHP
PHP 实现链式操作
Mar 09 PHP
写一段简单的PHP建立文件夹代码
Jan 06 #PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 #PHP
php自动获取关键字的方法
Jan 06 #PHP
windows7下php开发环境搭建图文教程
Jan 06 #PHP
PHP中$this和$that指针使用实例
Jan 06 #PHP
php缓冲输出实例分析
Jan 05 #PHP
php中fsockopen用法实例
Jan 05 #PHP
You might like
php微信公众平台开发类实例
2015/04/01 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
一秒学会微信小程序制作table表格
2019/02/14 Javascript
JS随机密码生成算法
2019/09/23 Javascript
vue实现计算器功能
2020/02/22 Javascript
python self,cls,decorator的理解
2009/07/13 Python
Python采集腾讯新闻实例
2014/07/10 Python
Django 请求Request的具体使用方法
2019/11/11 Python
python中upper是做什么用的
2020/07/20 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
lululemon美国官网:瑜伽服+跑步装备
2018/11/16 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
90后毕业生的求职信范文
2013/09/21 职场文书
公司户外活动总结
2014/07/04 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
小学二年级语文教学反思
2016/03/03 职场文书
合作合同协议书
2016/03/21 职场文书