phplot生成圖片類用法詳解
本文實(shí)例講述了phplot生成圖片類用法。分享給大家供大家參考。具體分析如下:
phplot是一個(gè)利用php的圖象函數(shù)編寫的一個(gè)自動(dòng)生成類,首先申明一下,我對(duì)他也只是了解. 在原來的有些版本好象還需要多方面的配置和支持,不過現(xiàn)在都用的是php5系列了,大家只要了解一些常用到的函數(shù),就比如我們學(xué)習(xí)一種軟件一樣,只需要懂得怎樣使用他就可以了,如果感興趣的朋友可以深入的學(xué)習(xí)學(xué)習(xí),不過對(duì)于我們大多數(shù)的朋友來說,只要會(huì)使用他就可以了,畢竟也不是常用,只是需要用php作圖的時(shí)候才用到他。所以我們只需要知道他怎么用就可以了,那么就必須知道他的函數(shù)的作用,好比我們學(xué)習(xí)discuz一樣,要懂得怎么用他就可以了!
phplot的下載地址是http://www.sourceforge.net/projects/phplot/
也可以從此處本站下載:http://www.dhdzp.com/codes/36315.html
他的常用函數(shù)分為幾個(gè)類:配置函數(shù),顯示函數(shù),顏色函數(shù).
1.配置函數(shù):配置phplot使用什么樣的類型,以及以什么樣的方式顯示圖象。
a.SetDataType($which_dt):設(shè)定使用的數(shù)據(jù)類型,在這個(gè)里面可以使用多種類型。
(1)text-date:數(shù)據(jù)沿著x柱,等間距排行。每個(gè)數(shù)組元素代表x軸上的某一位置的點(diǎn),他同時(shí)也是數(shù)組,第一個(gè)元素代表x坐標(biāo),后面的所有元素都代表y坐標(biāo)。
(2) data-data:與上面的類型相似,不同的是數(shù)值數(shù)組的第二個(gè)元素代表x坐標(biāo),后面的代表y坐標(biāo),而第一個(gè)元素僅僅是一個(gè)標(biāo)簽。
(3)data-data-error:與data-data類似,不同的是他的數(shù)值數(shù)組后面還有兩個(gè)元素代表error_plus和error_minus,如
(data_labl,x_position,y_position,error_plus,error_minus).
b.SetDataValues($which_dv):把一個(gè)數(shù)組$which_dv賦給類的一個(gè)變量$this->data_values.這個(gè)函數(shù)要開始作圖之前調(diào)用。
c.SetPlotType($which_pt):設(shè)定圖表的類型,可以是bars,lines,linepoints,area,points,pie等。
d.SetErrorBarLineWidth($wd):設(shè)定錯(cuò)誤欄的寬度。
e.SetFileFormat($which_file_format):設(shè)定輸出的圖象文件的格式,可以是GIF,PNG,JPEG等。還有要看你的GD庫(kù)是否支持。
f.SetUseTTF($which_ttf):設(shè)定是否使用TTF,如果編譯php支持TTF,就使用SetUseTTF("1");否則設(shè)置為0.
2.顯示函數(shù):顯示圖象設(shè)定輸出圖表所使用的線條的類型,寬度等參量,還可以設(shè)定坐標(biāo)軸刻度的間距,圖表的大小等。
a.SetErrorBarShape($which_ebs):設(shè)定精度線的類型,可以是line或者是tee,如果是tee,則T型線的半度設(shè)定為SetErrorBarSize.
b.SetErrprBarSize($which_ebs):設(shè)置精度線的寬度。
c.SetHorizTickIncreament($which_ti):設(shè)定x軸的顯示刻度的間距。
d.SetHorizTicks($whick_nt):設(shè)定x軸顯示刻度的個(gè)數(shù)。(不能和SetHorizTickIncreament)
e.SetNumVertTicks($which_nt):設(shè)定x軸顯示刻度的個(gè)數(shù)。(不能和SetVertTickIncreament)
f.SetPlotArearpixels($x1,$y1,$x2,$y2):設(shè)定圖表大小。
g.SetPointShape($which_pt):設(shè)置定點(diǎn)的形狀:rect,circle,diamond,triangle,dot,line,halfline.
h.SetPointSize($whick_ps教程):設(shè)定點(diǎn)的寬度。
i.SetPrecisionX($whick_prec):設(shè)定x軸的精度。$whick_prec代表小數(shù)點(diǎn)后面數(shù)字的個(gè)數(shù)。
j.SetPrecisiony($whick_prec)設(shè)定y軸的精度。$whick_prec代表小數(shù)點(diǎn)后面數(shù)字的個(gè)數(shù)。
k.SetSjading($whick_s):設(shè)定陰影的寬度。
l.SetTickLength($which_tl):設(shè)定坐標(biāo)軸上的標(biāo)記線的長(zhǎng)度,單位為pixel.
m.SetTile($title):設(shè)定圖表的標(biāo)題。
n.SetVertTickIncreament($whick_ti):和SetHorizTicks($whick_nt)這兩個(gè)函數(shù)用于設(shè)定坐標(biāo)軸上標(biāo)記線的垂直和水平間隔。
o.SetXDataLabelMaxlength($which_xdlm):設(shè)定x軸上的標(biāo)簽的最大長(zhǎng)度。
p.SetXGridLabelType($which_xtf):設(shè)定x軸的標(biāo)簽類型,可以是time,title,data,none或者default.
(1).time:由函數(shù)strftime()設(shè)定。
(2).title:文本類型。
(3).data:用函數(shù)number_format()格式化數(shù)字。
(4).none:沒有任何標(biāo)簽。
(5).default:按照輸入的形式輸出.
3.顏色函數(shù):顏色函數(shù)用于設(shè)定圖表中的各元素的顯示顏色,包括圖象背景顏色,刪格線的顏色,標(biāo)題顏色等!
a.SetBackgroundColor($which_color):設(shè)定整個(gè)圖象的背景顏色。
b.SetGridColor($which_color):設(shè)定刪格線的顏色。
c.SetLegend($which_legend):參數(shù)是一個(gè)文本數(shù)組,他的內(nèi)容顯示在一個(gè)圖列框中。
d.SetLegendPixels($which_x,$which_y,$which_type):設(shè)定圖列框左下角點(diǎn)的坐標(biāo),最后一個(gè)參數(shù)以后可用。
e.SetLightGridColor($which_color):刪割線線有兩種顏色,這個(gè)函數(shù)設(shè)定其中的一種。
f.SetLineWidth($which_lt):設(shè)定圖表中使用的線寬,他也影響精度線的寬度。
g.SetLineStyles($which_sls):設(shè)定線條的類型,可以是實(shí)線或者虛線。
h.SetPlotBgColor($which_color):設(shè)定使用SetPlotAreaPixels()函數(shù)設(shè)定的區(qū)域的顏色。
i.SetTextColor($which_color):設(shè)定文本的顏色,默認(rèn)是黑色。
j.SetTickColor($which_color):設(shè)定坐標(biāo)軸上刻線的顏色。
k.SetTitleColor($which_color):設(shè)定標(biāo)題顏色。
看個(gè)實(shí)例,生成上面圖形的代碼如下:
# 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();
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
- php生成圖片驗(yàn)證碼的方法
- php生成圖片驗(yàn)證碼-附五種驗(yàn)證碼
- 使用PHP生成圖片的縮略圖的方法
- php使用Imagick生成圖片的方法
- php實(shí)現(xiàn)QQ空間獲取當(dāng)前用戶的用戶名并生成圖片
- 用PHP代碼在網(wǎng)頁(yè)上生成圖片
- PHP批量生成圖片縮略圖的方法
- php生成圖片驗(yàn)證碼
- 基于GD2圖形庫(kù)的PHP生成圖片縮略圖類代碼分享
- PHP生成圖片驗(yàn)證碼、點(diǎn)擊切換實(shí)例
- php將數(shù)據(jù)庫(kù)中的電話號(hào)碼讀取出來并生成圖片
- PHP使用內(nèi)置函數(shù)生成圖片的方法詳解
相關(guān)文章
PHP foreach引用變量導(dǎo)致的問題及其解決方案
在 PHP 中,foreach 是用于遍歷數(shù)組的重要結(jié)構(gòu),然而,在某些情況下,使用 foreach 的 引用變量(&) 可能會(huì)導(dǎo)致意想不到的錯(cuò)誤,尤其是在不同版本的 PHP 環(huán)境下,本文將詳細(xì)分析 foreach 在不同 PHP 版本中的行為變化,深入剖析引用帶來的問題,并提供最佳解決方案2025-02-02
關(guān)于PHP中協(xié)程和阻塞的一些理解與思考
這篇文章主要給大家介紹了關(guān)于PHP中協(xié)程和阻塞的一些理解與思考,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PHP具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
php socket客戶端及服務(wù)器端應(yīng)用實(shí)例
這篇文章主要介紹了php socket客戶端及服務(wù)器端應(yīng)用實(shí)例,需要的朋友可以參考下2014-07-07
PHP轉(zhuǎn)換IP地址到真實(shí)地址的方法詳解
本篇文章是對(duì)PHP轉(zhuǎn)換IP地址到真實(shí)地址的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php對(duì)二維數(shù)組按指定鍵值key排序示例代碼
對(duì)二維數(shù)組按指定鍵值key排序,對(duì)于一些新手朋友或許存在難度,下面為大家介紹下在php中時(shí)如何實(shí)現(xiàn)的2013-11-11
php實(shí)現(xiàn)的一個(gè)簡(jiǎn)單json rpc框架實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的一個(gè)簡(jiǎn)單json rpc框架實(shí)例,本文給出了RPC服務(wù)端和客戶端代碼以及應(yīng)用實(shí)例,需要的朋友可以參考下2015-03-03

