本文目錄一覽:
- 1、如何使用PHP動態生成餅狀圖,柱狀圖和折線圖
- 2、北大青鳥java培訓:PHP中使用GD庫創建圓形餅圖?
- 3、如何做出PHP數據餅圖
- 4、php三維餅圖怎麼做?要調入數據庫的數據!請高手指點!不會的別來混經驗!
如何使用PHP動態生成餅狀圖,柱狀圖和折線圖
PHP自帶的繪圖函數來做特別麻煩,用jpgrah,封裝好了的 。傳入參數自動生成餅狀圖,柱狀圖之類的 特變方便
北大青鳥java培訓:PHP中使用GD庫創建圓形餅圖?
在php中,有一些簡單的圖像函數是可以直接使用的,但大多數要處理的圖像,都需要在編譯PHP時加上GD庫。
除了安裝GD庫之外,在PHP中還可能需要其他的庫,重慶電腦培訓認為這可以根據需要支持哪些圖像格式而定。
不同的GD版本支持的圖像格式不完全一樣,最新的GD庫版本支持GIF、JPEG、PNG、WBMP、XBM等格式的圖像文件,此外還支持一些如FreeType、Type1等字體庫。
通過GD庫中的函數,可以完成各種點、線、幾何圖形、文本及顏色的操作處理,也可以創建或讀取多種格式的圖像文件。
在PHP中,通過GD庫處理圖像的操作都是先在內存中處理,操作完成以後再以文件流的方式輸出到瀏覽器或保存在服務器的磁盤中。
創建一個圖像應該完成如下所示4個基本步驟。
①創建畫布:所有的繪圖設計都需要在一個背景圖片上完成,而畫布實際上就是在內存中開闢的一塊臨時區域,用於存儲圖像的信息。
以後的圖像操作都將基於這個背景畫布,該畫布的管理就類似於我們在畫畫時使用的畫布。
②繪製圖像:畫布創建完成以後,就可以通過這個畫布資源,使用各種畫像函數設置圖像的顏色、填充畫布、畫點、線段、各種幾何圖形,以及向圖像中添加文本等。
③輸出圖像:完成整個圖像的繪製以後,需要將圖像以某種格式保存到服務器指定的文件中,或將圖像直接輸出到瀏覽器上顯示給客戶。
但在圖像輸出之前,一定要使用header()函數發送Content-type通知瀏覽器,這次發送的是圖片不是文本。
④釋放資源:圖像被輸出以後,畫布中的內容也不再有用。
出於節約系統資源的考慮,需要及時清楚畫布佔用的所有內存資源。
我們先來了解一下一個非常簡單的創建圖像腳本。
在下面的腳本文件image.php中,按前面介紹的繪製圖像的四個步驟,使用GD庫動態輸出一個扇形統計圖。
如何做出PHP數據餅圖
1、選擇你的數據 2、插入圖表,選擇餅圖 3、右擊餅圖,【添加數據標籤】 4、再次右擊,【設置數據標籤格式】 5、【標籤包括】中丫百分比】即可
php三維餅圖怎麼做?要調入數據庫的數據!請高手指點!不會的別來混經驗!
這是個2D的。
其中有一個自定義函數,用於繪製餅圖,參數是一個鍵值對數組。
每項內容是由數組定義的。你調入數據庫中的內容後讀入數組即可。
前提是你當然要開啟GD擴展,要不是沒得畫得。呵。
?php
function pie2d($a) //創建自定義函數
{
$im=imagecreate(420,300); //建立圖像
$back=imagecolorallocate($im,255,255,200); //背景色
$color[]=imagecolorallocate($im,0,0,255); //定義10個顏色,可以最多處理10項
$color[]=imagecolorallocate($im,255,0,0);
$color[]=imagecolorallocate($im,0,255,0);
$color[]=imagecolorallocate($im,100,100,255);
$color[]=imagecolorallocate($im,255,0,255);
$color[]=imagecolorallocate($im,150,0,0);
$color[]=imagecolorallocate($im,0,0,150);
$color[]=imagecolorallocate($im,0,150,0);
$color[]=imagecolorallocate($im,0,0,0);
$color[]=imagecolorallocate($im,150,150,150);
$value_a=array_values($a); //獲取參數數組所有值到新數組
$all=array_sum($value_a); //統計新數組的和
$i=0; //循環標記
foreach($a as $key=$value) //遍曆數組
{
$angle[]=$value/$all*360; //獲取當前角度
$str=$key.”:”.round($value/$all*100,2).”%”; //需要輸出的內容
imagestring($im,5,10,($i*20+10),$str,$color[$i]); //畫字符串
$i++; //標記自增
}
$s=0; //當前角度標記
$i=0;
foreach($angle as $temp) //遍歷所有項角度
{
imagefilledarc($im,285,150,240,120,$s,($s+$temp),$color[$i],4); //畫橢圓弧
//imagefillellipse();
$s=$s+$temp; //角度增加為當前角度
$i++;
}
imagepng($im); //輸出PNG
imagedestroy($im); //銷毀圖像
}
$arr=array(
“perfect”=1,
“excellent”=2,
“very good”=4,
“good”=1,
“not bad”=1,
“normal”=1,
“bad”=1,
“very bad”=1,
“god save me”=1,
“hell”=1
); //定義數組,數組內容為選項內容與選項數量的鍵值對
$re=pie2d($arr); //調用自定義函數
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/241158.html