程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 推薦功能超級強大的PHP畫圖庫JpGraph

推薦功能超級強大的PHP畫圖庫JpGraph

編輯:關於PHP編程

  背景知識

  JpGraph:以前用PHP作圖時必須要掌握復雜抽象的畫圖函數,或者借助一些網上下載的花柱形圖、餅形圖的類來實現。沒有一個統一的chart類來實現圖表的快速開發。

  現在我們有了一個新的選擇:JpGraph。專門提供圖表的類庫。它使得作圖變成了一件非常簡單的事情,你只需從數據庫中取出相關數據,定義標題,圖表類型,然後的事情就交給JpGraph,只需掌握為數不多的JpGraph內置函數(可以參照JpGraph附帶例子學習),就可以畫出非常炫目的圖表!

  一、 JpGraph安裝方法:

  1、先到http://www.aditus.nu/jpgraph/下載最新的版本。

  2、確保你的PHP版本最低為4.04(最好是4.1.1),並且支持GD庫。必須確保GD庫可以正常運行,可以通過運行phpinfo()來查看GD庫的信息是否存在的方法來判斷。同時要有要求GD庫的版本應為2.0,而不是1.0。

  3、將下載的JpGraph壓縮包解壓到任意文件夾。

  4、設置jpgraph.php(jpgraph的主配置文件)。設置jpgraph的cache(緩存)文件夾,和TTF(字體)文件夾。

  分別在35行和38行

  35 // DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");

  38 // DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");

  Linux系統改為:

  DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");

  DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");

  Windows系統改為:

  DEFINE("CACHE_DIR","c:/apache/htdocs/ jpgraph_cache/");

  DEFINE("TTF_DIR","c:/windows/fonts");

  注意事項:

  (1)cache(緩存)文件夾路徑可以自己定義,而TTF(字體)文件夾必須是%system%/Fonts。

  (2)確保PHP對cache(緩存)文件夾有寫的權限。

  5、完成上述設置後就可以使用JpGraph了,可以先將JpGraph的例子copy到htdocs文件夾中,運行一下看看。呵呵,200多個例子,包含各類圖表,夠學一陣子的。

  在實際使用中,如果還有一些不懂或者不太明白地方,可以參考bkJia中文發布的 bkJia視頻教程85:PHP 圖表類 JPGraph 入門配置與應用

  從數據庫中讀取數據到jpgraph圖表中

  1、將./src/Examples目錄中的文件example16.2.php以及./src目錄中的文件jpgraph_bar.php、jpgraph_gradient.php、jpgraph_line.php、jpgraph_plotmark.inc、jpgraph.php拷貝到同一目錄下。

  2、建立數據庫jpg,數據庫表test

  建立2個字段:

  id(主鍵):int

  number:int

  並添加一些數據

  3、修改example16.2.php

  修改後的代碼

 

  1. <?php  
  2. include ("jpgraph.php");  
  3. include ("jpgraph_line.php");  
  4. include ("jpgraph_bar.php");  
  5. $connect=mysql_connect("localhost","root","");  
  6. mysql_select_db("jpg",$connect);  
  7. $query=mysql_query("select * from test",$connect);  
  8. $i=0;  
  9. while ($array=mysql_fetch_array($query)) {  
  10. $l2datay[$i]=$array["number"];  
  11. $i++;  
  12. }  
  13. mysql_close($connect);  
  14. // Create the graph.   
  15. $graph = new Graph(400,200,"auto");   
  16. $graph->SetScale("textlin");  
  17. $graph->img->SetMargin(40,130,20,40);  
  18. $graph->SetShadow();  
  19. // Create the bar plot  
  20. $bplot = new BarPlot($l2datay);  
  21. $bplot->SetFillColor("orange");  
  22. $bplot->SetLegend("Result");  
  23. // Add the plots to the graph  
  24. $graph->Add($bplot);  
  25. $graph->title->Set("Adding a line plot to a bar graph v1");  
  26. $graph->xaxis->title->Set("X-title");  
  27. $graph->yaxis->title->Set("Y-title");  
  28. $graph->title->SetFont(FF_FONT1,FS_BOLD);  
  29. $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);  
  30. $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);  
  31. //$graph->xaxis->SetTickLabels($datax);  
  32. //$graph->xaxis->SetTextTickInterval(2);  
  33. // Display the graph  
  34. $graph->Stroke();  
  35. ?> 

 4、刷新頁面即可看到結果

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