導航:首頁 > 編程語言 > php生成餅圖

php生成餅圖

發布時間:2022-08-16 22:15:23

php實現柱狀圖,餅狀圖

這種圖應該可以使用php jpgraph類庫來完成,具體的開源類庫下載,以及示例、演示情況,你可以訪問其官方網站,下載的類庫代碼里有完整的示例代碼。

jpgraphp 官方下載地址
http://jpgraph.net/download/

JpGraph簡介
以前用PHP作圖時必須要掌握復雜抽象的畫圖函數,或者藉助一些網上下載的花柱形圖、餅形圖的類來實現。沒有一個統一的chart類來實現圖表的快速開發。
現在我們有了一個新的選擇:JpGraph。專門提供圖表的類庫。它使得作圖變成了一件非常簡單的事情,你只需從資料庫中取出相關數據,定義標題,圖表類型,然後的事情就交給JpGraph,只需掌握為數不多的JpGraph內置函數(可以參照JpGraph附帶例子學習),就可以畫出非常炫目的圖表!

❷ 昆明電腦培訓分享PHP中使用GD庫創建圓形餅圖

在php中,有一些簡單的圖像函數是可以直接使用的,但大多數要處理的圖像,都需要在編譯PHP時加上GD庫。除了安裝GD庫之外,在PHP中還可能需要其他的庫,昆明電腦培訓http://www.kmbdqn.com/認為這可以根據需要支持哪些圖像格式而定。不同的GD版本支持的圖像格式不完全一樣,最新的GD庫版本支持GIF、JPEG、PNG、WBMP、XBM等格式的圖像文件,此外還支持一些如FreeType、Type 1等字體庫。通過GD庫中的函數,可以完成各種點、線、幾何圖形、文本及顏色的操作處理,也可以創建或讀取多種格式的圖像文件。



在PHP中,通過GD庫處理圖像的操作都是先在內存中處理,操作完成以後再以文件流的方式輸出到瀏覽器或保存在伺服器的磁碟中。創建一個圖像應該完成如下所示4個基本步驟。


①創建畫布:所有的繪圖設計都需要在一個背景圖片上完成,而畫布實際上就是在內存中開辟的一塊臨時區域,用於存儲圖像的信息。以後的圖像操作都將基於這個背景畫布,該畫布的管理就類似於我們在畫畫時使用的畫布。


②繪制圖像:畫布創建完成以後,就可以通過這個畫布資源,使用各種畫像函數設置圖像的顏色、填充畫布、畫點、線段、各種幾何圖形,以及向圖像中添加文本等。


③輸出圖像:完成整個圖像的繪制以後,需要將圖像以某種格式保存到伺服器指定的文件中,或將圖像直接輸出到瀏覽器上顯示給客戶。但在圖像輸出之前,一定要使用header()函數發送Content-type通知瀏覽器,這次發送的是圖片不是文本。


④釋放資源:圖像被輸出以後,畫布中的內容也不再有用。出於節約系統資源的考慮,需要及時清楚畫布佔用的所有內存資源。

我們先來了解一下一個非常簡單的創建圖像腳本。在下面的腳本文件image.php中,按前面介紹的繪制圖像的四個步驟,使用GD庫動態輸出一個扇形統計圖。


❸ 怎麼不安裝類庫用php畫曲線圖和餅圖

php本身沒有畫圖功能。都是通過GD庫等外部擴展實現的。如果只是單純的曲線圖和餅圖,可以考慮使用前端js代碼實現,比如iChart等插件都能做出很漂亮的示意圖。比GD搞出來的要漂亮,而且是動態的,可以根據點擊進行交互。

❹ 如何製作餅圖 詳細步驟

以wps2019工具為例,具體操作步驟如下所示:

一、打開電腦桌面,雙擊excel表格,如圖所示。

❺ php如何在一個頁面同時顯示柱狀圖 折線圖 餅圖 能給個例子嗎

樓住你想要干什麼吖,把問題說清楚才行吖
你是想要利用PHP程序生程你所需要的圖形
還是在一個網頁裡面同時顯示那幾個圖形吖.

❻ 求php生成餅圖的類或例子,圖上要有算百分比的

<?php

//公用函數

//把角度轉換為弧度
function deg2Arc($degrees) {
return($degrees * (pi()/180.0));
}

//RGB
function getRGB($color){
$R=($color>>16) & 0xff;
$G=($color>>8) & 0xff;
$B=($color) & 0xff;
return (array($R,$G,$B));
}

// 取得在橢圓心為(0,0)的橢圓上 x,y點的值
function pie_point($deg,$va,$vb){
$x= cos(deg2Arc($deg)) * $va;
$y= sin(deg2Arc($deg)) * $vb;
return (array($x, $y));
}

//3D餅圖類

class Pie3d{

var $a; //橢圓長半軸
var $b; //橢圓短半軸
var $DataArray; //每個扇形的數據
var $ColorArray; //每個扇形的顏色 要求按照十六進制書寫但前面不加0x
//為邊緣及陰影為黑色

function Pie3d($pa=150,$pb=100,$sData="10,20,30,40,50", $sColor="#4472A6,#395F8C,#BAC6DE,#91A7CE,#4E7FBA")
{
$this->a=$pa;
$this->b=$pb;
$this->DataArray=split(",",$sData);
$this->ColorArray=split(",",$sColor);
}

function setA($v){
$this->a=$v;
}

function getA(){
return $this->a;
}

function setB($v){
$this->b=$v;
}

function getB(){
return $this->b;
}

function setDataArray($v){
$this->DataArray=split(",",$v);
}

function getDataArray($v){
return $this->DataArray;
}

function setColorArray($v){
$this->ColorArray=split(",",$v);
}

function getColorArray(){
return $this->ColorArray;
}

function DrawPie(){
$image=imagecreate($this->a*2+40,$this->b*2+40);
$PieCenterX=$this->a+10;
$PieCenterY=$this->b+10;
$DoubleA=$this->a*2;
$DoubleB=$this->b*2;
list($R,$G,$B)=getRGB(0);
$colorBorder=imagecolorallocate($image,$R,$G,$B);
$DataNumber=count($this->DataArray);

//$DataTotal
for($i=0;$i<$DataNumber;$i++) $DataTotal+=$this->DataArray[$i]; //算出數據和

//填充背境
imagefill($image, 0, 0, imagecolorallocate($image, 0xFF, 0xFF, 0xFF));

/*
** 畫每一個扇形
*/
$Degrees = 0;
for($i = 0; $i < $DataNumber; $i++){
$StartDegrees = round($Degrees);
$Degrees += (($this->DataArray[$i]/$DataTotal)*360);
$EndDegrees = round($Degrees);
$percent = number_format($this->DataArray[$i]/$DataTotal*100, 1);
list($R,$G,$B)=getRGB(hexdec($this->ColorArray[$i]));
$CurrentColor=imagecolorallocate($image,$R,$G,$B);
if ($R>60 and $R<256) $R=$R-60;
if ($G>60 and $G<256) $G=$G-60;
if ($B>60 and $B<256) $B=$B-60;
$CurrentDarkColor=imagecolorallocate($image,$R,$G,$B);
//畫扇形弧
imagearc($image,$PieCenterX,$PieCenterY,$DoubleA,$DoubleB,$StartDegrees,$EndDegrees,$CurrentColor);
//畫直線
list($ArcX, $ArcY) = pie_point($StartDegrees , $this->a , $this->b);
imageline($image,$PieCenterX,$PieCenterY,floor($PieCenterX + $ArcX),floor($PieCenterY + $ArcY),$CurrentColor);
//畫直線
list($ArcX, $ArcY) = pie_point($EndDegrees,$this->a , $this->b);
imageline($image,$PieCenterX,$PieCenterY,ceil($PieCenterX + $ArcX),ceil($PieCenterY + $ArcY),$CurrentColor);
//填充扇形
$MidPoint = round((($EndDegrees - $StartDegrees)/2) + $StartDegrees);
list($ArcX, $ArcY) = Pie_point($MidPoint, $this->a*3/4 , $this->b*3/4);

imagefilltoborder($image,floor($PieCenterX + $ArcX),floor($PieCenterY + $ArcY), $CurrentColor,$CurrentColor);
imagestring($image,2,floor($PieCenterX + $ArcX-5),floor($PieCenterY + $ArcY-5),$percent."%",$colorBorder);

//畫陰影
if ($StartDegrees>=0 and $StartDegrees<=180){
if($EndDegrees<=180){
for($k = 1; $k < 15; $k++)
imagearc($image,$PieCenterX, $PieCenterY+$k,$DoubleA, $DoubleB, $StartDegrees, $EndDegrees, $CurrentDarkColor);
}else{
for($k = 1; $k < 15; $k++)
imagearc($image,$PieCenterX, $PieCenterY+$k,$DoubleA, $DoubleB, $StartDegrees, 180, $CurrentDarkColor);
}

}
}

/*到此腳本已經生了一幅圖像了
**現在需要的是把它發到瀏覽器上,重要的一點是要將標頭發給瀏覽器,讓它知道是一個GIF文件。不然的話你只能看到一堆奇怪的亂碼
*/

//輸出生成的圖片
header("Content-type: image/gif");
imagegif($image);
imagedestroy($image);
}//End drawPie()
}//End class

//實現

$objp = new Pie3d();
$objp->DrawPie();
?>

❼ 如何使用PHP動態生成餅狀圖,柱狀圖和折線圖

PHP自帶的繪圖函數來做特別麻煩,用jpgrah,封裝好了的 。傳入參數自動生成餅狀圖,柱狀圖之類的 特變方便

❽ 怎麼用php程序實現餅狀圖

php是後端編程語言,單純依賴php是沒辦法做出餅狀圖的,可以利用html5來做出餅狀圖,php後台支撐
http://echarts..com/

❾ 餅圖怎麼製作

在win7中,以Excel 2007為例,可參考以下步驟製作餅圖:

1、新建一個excel表。

閱讀全文

與php生成餅圖相關的資料

熱點內容
解壓新奇特視頻 瀏覽:702
圖書信息管理系統java 瀏覽:548
各種直線命令詳解 瀏覽:859
程序員淚奔 瀏覽:143
素材怎麼上傳到伺服器 瀏覽:513
android百度離線地圖開發 瀏覽:187
web可視化編程軟體 瀏覽:288
java筆試編程題 瀏覽:742
win11什麼時候可以裝安卓 瀏覽:560
java不寫this 瀏覽:999
雲點播電影網php源碼 瀏覽:95
pythonclass使用方法 瀏覽:226
移動加密軟體去哪下載 瀏覽:294
php彈出alert 瀏覽:209
吉林文檔課件加密費用 瀏覽:136
感測器pdf下載 瀏覽:289
隨車拍app綁定什麼設備 瀏覽:898
方維團購系統源碼 瀏覽:993
linux反彈shell 瀏覽:159
列印機介面加密狗還能用嗎 瀏覽:301