php使用Jpgraph創(chuàng)建折線圖效果示例
本文實例講述了php使用Jpgraph創(chuàng)建折線圖效果。分享給大家供大家參考,具體如下:
在企業(yè)運營中,經(jīng)常需要對各種數(shù)據(jù)進行統(tǒng)計,利用圖表動態(tài)分析不同的數(shù)據(jù)表中的數(shù)據(jù),可以使數(shù)據(jù)顯示的更加直觀。
例:應(yīng)用Jpgraph技術(shù)繪制包含兩種圖書銷售走勢的折線圖。
為了能夠使用Jpgraph的功能,首先在程序中導(dǎo)入Jpgraph類庫,然后創(chuàng)建兩個數(shù)組分別表示兩種圖書的年度銷售情況,創(chuàng)建Graph類的對象,并用創(chuàng)建的數(shù)組作為參數(shù)創(chuàng)建兩個LinePlot類的對象。設(shè)置統(tǒng)計圖的標(biāo)題、刻度、背景色和折線顏色等參數(shù),并將兩個LinePlot對象添加到統(tǒng)計圖對象中。
過程如下:
(1)在程序中導(dǎo)入Jpgraph類庫及直線繪制功能。
require_once 'jpgraph/src/jpgraph.php'; require_once 'jpgraph/src/jpgraph_line.php';
(2)創(chuàng)建統(tǒng)計數(shù)據(jù),并保存到一維數(shù)組中。
$data1 = array(89, 78, 99, 65, 92, 85, 85, 55, 64, 79, 85, 98);//設(shè)置統(tǒng)計數(shù)據(jù) $data2 = array(68, 70, 69, 80, 50, 60, 75, 65, 75, 65, 80, 89);//設(shè)置統(tǒng)計數(shù)據(jù)
(3)創(chuàng)建統(tǒng)計圖對象,并設(shè)置坐標(biāo)的刻度樣式
$graph = new Graph(600, 300);//創(chuàng)建統(tǒng)計圖對象 $graph->SetScale('textlin');//設(shè)置刻度樣式 $graph->SetY2Scale('lin'); $graph->SetShadow();//設(shè)置背景帶陰影 $graph->img->SetMargin(40, 50, 20, 70);// 設(shè)置圖表灰度四周邊距,順序為左右上下 $graph->title->Set(iconv('utf-8', 'GB2312//IGNORE', '圖書銷售走勢表'));//設(shè)置走勢圖的標(biāo)題
(4)創(chuàng)建LinePlot對象,并將創(chuàng)建后的對象添加到統(tǒng)計圖的對象中。
$lineplot1 = new LinePlot($data1);//建立LinePlot對象 $lineplot2 = new LinePlot($data2);//建立LinePlot對象 $graph->Add($lineplot1); $graph->AddY2($lineplot2);
(5)設(shè)置統(tǒng)計圖和坐標(biāo)軸的標(biāo)題內(nèi)容和文字樣式,并輸出統(tǒng)計圖
$graph->xaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "月份"));//設(shè)置x軸的標(biāo)題 $graph->yaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "book A 銷售金額(萬元)"));//設(shè)置y軸的標(biāo)題 $graph->y2axis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "book B 銷售金額(萬元)"));//設(shè)置y軸的標(biāo)題 $graph->y2axis->title->SetMargin(20);//設(shè)置右邊的title到圖的距離 $graph->title->SetFont(FF_SIMSUN, FS_BOLD);//設(shè)置字體 $graph->yaxis->title->SetFont(FF_SIMSUN, FS_BOLD); $graph->y2axis->title->SetFont(FF_SIMSUN, FS_BOLD); $graph->xaxis->title->SetFont(FF_SIMSUN, FS_BOLD); $lineplot1->SetColor('red');//設(shè)置顏色 $lineplot2->SetColor('blue'); $lineplot1->SetLegend('book A');//綁定 $lineplot2->SetLegend('book B'); $graph->legend->SetLayout(LEGEND_HOR); $graph->legend->Pos(0.4, 0.95, 'center', 'bottom'); //圖例文字框的位置 0.4,0.95 是以右上角為基準(zhǔn)的,0.4是距左右距離,0.95是上下距離。 $graph->Stroke();//輸出
運行結(jié)果如下:
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
解析smarty 截取字符串函數(shù) truncate的用法介紹
本篇文章是對smarty 截取字符串函數(shù) truncate的用法進行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php獲得網(wǎng)站訪問統(tǒng)計信息類Compete API用法實例
這篇文章主要介紹了php獲得網(wǎng)站訪問統(tǒng)計信息類Compete API用法,實例分析了php使用curl獲取Compete統(tǒng)計網(wǎng)站信息的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04詳解PHP json_decode()函數(shù)的使用方法
PHP中的json_decode()函數(shù)是用于將JSON字符串解碼為PHP變量的函數(shù),它將JSON字符串轉(zhuǎn)換為與其對應(yīng)的PHP數(shù)據(jù)類型,例如,將JSON字符串轉(zhuǎn)換為關(guān)聯(lián)數(shù)組、對象或其他數(shù)據(jù)類型,本文就給大家介紹一下PHP json_decode()函數(shù)的使用方法,需要的朋友可以參考下2023-08-08深入eAccelerator與memcached的區(qū)別詳解
本篇文章是對eAccelerator與memcached的區(qū)別進行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP微信公眾號開發(fā)之微信紅包實現(xiàn)方法分析
這篇文章主要介紹了PHP微信公眾號開發(fā)之微信紅包實現(xiàn)方法,結(jié)合實例形式分析了php實現(xiàn)微信公眾號紅包發(fā)送功能的實現(xiàn)思路、步驟與具體操作技巧,需要的朋友可以參考下2017-07-07PHP開發(fā)的文字水印,縮略圖,圖片水印實現(xiàn)類與用法示例
這篇文章主要介紹了PHP開發(fā)的文字水印,縮略圖,圖片水印實現(xiàn)類與用法,結(jié)合完整實例形式分析了php文字水印、縮略圖操作類定義與簡單使用方法,需要的朋友可以參考下2019-04-04PHP判斷一個數(shù)組是另一個數(shù)組子集的方法詳解
這篇文章主要介紹了PHP判斷一個數(shù)組是另一個數(shù)組子集的方法,結(jié)合實例形式分析了php循環(huán)遍歷、array_diff及array_intersect函數(shù)等方法實現(xiàn)數(shù)組子集判斷的相關(guān)操作技巧,需要的朋友可以參考下2017-07-07