本文實(shí)例講述了php使用Jpgraph創(chuàng)建折線圖效果。分享給大家供大家參考,具體如下:
在企業(yè)運(yùn)營(yíng)中,經(jīng)常需要對(duì)各種數(shù)據(jù)進(jìn)行統(tǒng)計(jì),利用圖表動(dòng)態(tài)分析不同的數(shù)據(jù)表中的數(shù)據(jù),可以使數(shù)據(jù)顯示的更加直觀。
例:應(yīng)用Jpgraph技術(shù)繪制包含兩種圖書(shū)銷(xiāo)售走勢(shì)的折線圖。
為了能夠使用Jpgraph的功能,首先在程序中導(dǎo)入Jpgraph類(lèi)庫(kù),然后創(chuàng)建兩個(gè)數(shù)組分別表示兩種圖書(shū)的年度銷(xiāo)售情況,創(chuàng)建Graph類(lèi)的對(duì)象,并用創(chuàng)建的數(shù)組作為參數(shù)創(chuàng)建兩個(gè)LinePlot類(lèi)的對(duì)象。設(shè)置統(tǒng)計(jì)圖的標(biāo)題、刻度、背景色和折線顏色等參數(shù),并將兩個(gè)LinePlot對(duì)象添加到統(tǒng)計(jì)圖對(duì)象中。
過(guò)程如下:
(1)在程序中導(dǎo)入Jpgraph類(lèi)庫(kù)及直線繪制功能。
require_once 'jpgraph/src/jpgraph.php'; require_once 'jpgraph/src/jpgraph_line.php';
(2)創(chuàng)建統(tǒng)計(jì)數(shù)據(jù),并保存到一維數(shù)組中。
$data1 = array(89, 78, 99, 65, 92, 85, 85, 55, 64, 79, 85, 98);//設(shè)置統(tǒng)計(jì)數(shù)據(jù) $data2 = array(68, 70, 69, 80, 50, 60, 75, 65, 75, 65, 80, 89);//設(shè)置統(tǒng)計(jì)數(shù)據(jù)
(3)創(chuàng)建統(tǒng)計(jì)圖對(duì)象,并設(shè)置坐標(biāo)的刻度樣式
$graph = new Graph(600, 300);//創(chuàng)建統(tǒng)計(jì)圖對(duì)象 $graph->SetScale('textlin');//設(shè)置刻度樣式 $graph->SetY2Scale('lin'); $graph->SetShadow();//設(shè)置背景帶陰影 $graph->img->SetMargin(40, 50, 20, 70);// 設(shè)置圖表灰度四周邊距,順序?yàn)樽笥疑舷? $graph->title->Set(iconv('utf-8', 'GB2312//IGNORE', '圖書(shū)銷(xiāo)售走勢(shì)表'));//設(shè)置走勢(shì)圖的標(biāo)題
(4)創(chuàng)建LinePlot對(duì)象,并將創(chuàng)建后的對(duì)象添加到統(tǒng)計(jì)圖的對(duì)象中。
$lineplot1 = new LinePlot($data1);//建立LinePlot對(duì)象 $lineplot2 = new LinePlot($data2);//建立LinePlot對(duì)象 $graph->Add($lineplot1); $graph->AddY2($lineplot2);
(5)設(shè)置統(tǒng)計(jì)圖和坐標(biāo)軸的標(biāo)題內(nèi)容和文字樣式,并輸出統(tǒng)計(jì)圖
$graph->xaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "月份"));//設(shè)置x軸的標(biāo)題 $graph->yaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "book A 銷(xiāo)售金額(萬(wàn)元)"));//設(shè)置y軸的標(biāo)題 $graph->y2axis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "book B 銷(xiāo)售金額(萬(wàn)元)"));//設(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();//輸出
運(yùn)行結(jié)果如下:
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP圖形與圖片操作技巧匯總》、《PHP基本語(yǔ)法入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。