溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在PHP項(xiàng)目中使用JPGRAPH制作一個圓柱圖

發(fā)布時間:2021-03-22 17:51:28 來源:億速云 閱讀:132 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)怎么在PHP項(xiàng)目中使用JPGRAPH制作一個圓柱圖,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

制作圓柱圖像的要點(diǎn)

首先,要使用jpgraph庫,我們先要去官網(wǎng)進(jìn)行下載,網(wǎng)址:https://jpgraph.net/。 下載完畢后將他解壓到怎么在PHP項(xiàng)目中使用JPGRAPH制作一個圓柱圖

這個文件夾需要自己手動添加,然后在相同的路徑下創(chuàng)建一個文件 命名為jpgraph.php

函數(shù)名作用
new Graph創(chuàng)建一個新的Graph對象
jpgraph_bar.php加載畫出圓柱的文件
jpgraph.php加載使用jp庫的文件
SetScale設(shè)置刻度樣式
new BarPlot創(chuàng)建一個新的BarPlot對象
SetFillColor用于指定條形的填充顏色
SetFont設(shè)置字體
xaxis -> Set設(shè)置x軸標(biāo)題
yaxis -> Set設(shè)置y軸標(biāo)題
title -> Set設(shè)置主標(biāo)題
Stroke輸出圖像
SetColor設(shè)置標(biāo)題顏色
SetMargin設(shè)置間距
SetTickLabels獲取數(shù)組里的元素并輸出
value -> Show顯示值
graph_theme設(shè)置主題

這是我們本次需要用到的一些函數(shù),鑒于我的表達(dá)能力不是特別好,你們覺得有點(diǎn)看不懂的話,可以去看一下別的博客來幫助自己理解

現(xiàn)在開始編寫我們的代碼

首先,我們要輸出的是圓柱,那么我們則要輸入

require_once ("jpgraph/src/jpgraph.php");
require_once ("jpgraph/src/jpgraph_bar.php");

ok,這個時候文件已經(jīng)加載了,為了避免你們目錄和我不一致導(dǎo)致報錯無法實(shí)現(xiàn),我把我的文件存在位置截了下來,如下:

怎么在PHP項(xiàng)目中使用JPGRAPH制作一個圓柱圖
接下來,我們要創(chuàng)建兩個數(shù)組,一個是圓柱數(shù)據(jù),另一個是x軸標(biāo)題數(shù)據(jù)

$date = array(19,23,34,38,45,67,71,78,85,87,90,96);//此處是圓柱數(shù)據(jù)
$xdate = array("1","2","3","4","5","6","7","8","9","10","11","12");//此處是x軸的標(biāo)題數(shù)據(jù)

這個時候,我們已經(jīng)完成了我們繪制圖形所需要的數(shù)據(jù)了,接下來就是創(chuàng)建圓柱和調(diào)整它的顏色了

所要做的代碼如下:

$graph = new Graph (500,400);//創(chuàng)建一個新的Graph對象,其寬和高分別為500,300
$graph -> SetScale("textlin");//設(shè)置其刻印樣式
$graph -> SetShadow();//設(shè)置其陰影樣式
$graph -> img -> SetMargin(40,30,40,50);//設(shè)置其上間距40,右間距30,下間距40,左間距50

$graph -> graph_theme = null;//設(shè)置他的主題為空,使得下面的元素可實(shí)現(xiàn)

$bplot = new BarPlot ($date);//創(chuàng)建BarPlot對象
$bplot -> SetColor("pink");//設(shè)置BarPlot的顏色
$bplot -> value -> Show("");//顯示他的值
$graph ->Add($bplot);//把他的值放入$graph里

$graph -> title -> Set(iconv("utf-8","gb2312//IGNORE","年度收支表"));//設(shè)置標(biāo)題名字并進(jìn)行轉(zhuǎn)換
$graph -> xaxis -> title -> Set(iconv("utf-8","gb2312//IGNORE","月份"));//同上,設(shè)置x軸標(biāo)題
$graph -> yaxis -> title -> Set(iconv("utf-8","gb2312//IGNORE","總金額(兆美元)"));//同上,設(shè)置y軸標(biāo)題

$graph -> title -> SetColor("red");//設(shè)置標(biāo)題顏色
$graph -> title -> SetMargin(10);//設(shè)置標(biāo)題間距
$graph -> xaxis -> title -> SetMargin(1);//設(shè)置x軸標(biāo)題間距
$graph -> xaxis ->SetTickLabels($xdate);//接收xdate數(shù)組里的元素

$graph -> title -> SetFont(FF_SIMSUN,FS_BOLD);//設(shè)置字體樣式
$graph -> xaxis -> title ->SetFont(FF_SIMSUN,FS_BOLD);
$graph -> yaxis -> title ->SetFont(FF_SIMSUN,FS_BOLD);
$graph -> xaxis -> SetFont(FF_SIMSUN,FS_BOLD);//設(shè)置x軸里所有的字體樣式

$graph -> Stroke();//輸出

到這里,我們的圓柱就已經(jīng)完成了,完整的代碼如下:

<?php
require_once ("jpgraph/src/jpgraph.php");
require_once ("jpgraph/src/jpgraph_bar.php");

$date = array(19,23,34,38,45,67,71,78,85,87,90,96);
$xdate = array("1","2","3","4","5","6","7","8","9","10","11","12");
$graph = new Graph (500,400);
$graph->SetScale("textlin");
$graph->SetShadow();
$graph->img->SetMargin(40,30,40,50);

$graph->graph_theme = null;

$barplot = new BarPlot($date);
$barplot->SetFillColor("pink");
$barplot->value->Show();
$graph->Add($barplot);

$graph->title->Set(iconv("utf-8","GB2312//IGNORE","年度收支表"));
$graph->xaxis->title->Set(iconv("utf-8","GB2312//IGNORE","月份"));
$graph->yaxis->title->Set(iconv("utf-8","GB2312//IGNORE","總金額(兆美元)"));

$graph->title->SetColor("red");
$graph->title->SetMargin(10);
$graph->xaxis->title->SetMargin(1);
$graph->xaxis->SetTickLabels($xdate);

$graph->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->xaxis->SetFont(FF_SIMSUN,FS_BOLD);


$graph -> Stroke();
?>

最終效果如下圖:
怎么在PHP項(xiàng)目中使用JPGRAPH制作一個圓柱圖

以上就是怎么在PHP項(xiàng)目中使用JPGRAPH制作一個圓柱圖,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI