程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> phplot生成圖片類詳解

phplot生成圖片類詳解

編輯:關於PHP編程

php教程lot生成圖片類詳解

我個人使用的是phplot,它是一個利用php的圖象函數編寫的一個自動生成類,首先申明我對他也只是了解. 在原來的有些版本好象還需要多方面的配置和支持,不過現在都用的是php5系列了,大家只要了解一些常用到的函數,就比如我們學習一種軟件一樣,只需要懂得怎樣使用他就可以了,如果感興趣的朋友可以深入的學習學習,不過對於我們大多數的朋友來說,只要會使用他就可以了,畢竟也不是常用,只是需要用php作圖的時候才用到他。所以我們只需要知道他怎麼用就可以了,那麼就
必須知道他的函數的作用,好比我們學習discuz一樣,要懂得怎麼用他就可以了!
phplot的下載地址是http://www.sourceforge.net/projects/phplot/現在最新版本好像是phplot5.0
他的常用函數分為幾個類:配置函數,顯示函數,顏色函數
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();  

 

\

 


怎麼樣,不錯吧。。 喜歡的朋友可以到 http://phplot.sourceforge.net/ 官方站下載


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved