最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP生成圖表pChart的示例解析

 更新時間:2020年07月31日 17:26:58   作者:李敬然(Gnie)  
這篇文章主要介紹了PHP生成圖表pChart的示例解析,文中通過解析pChartd 工作流程和不同圖表的代碼展示,講解的非常詳細,對大家的學習或工作具有一定的參考價值,有需要的來和小編一起學習把吧

pChart是一個開源的圖表生成庫,主要涉及3個Class:pChart.class, pData.class, pCache.class,可生成20多種簡單或復雜的圖表,支持PNG,JPG,GIF通用圖片格式。數(shù)據(jù)源可以來自于Database,CSV,當然也可以手寫。使用該程序PHP需要開啟GD服務,先來看看pChart的工作流程:

主要分為三步:

  1. * 讀取用于生成圖表數(shù)據(jù)(數(shù)據(jù)庫、文件)
  2. * 設(shè)計圖表樣式(圓角、底色等)
  3. * 制作標簽、題目、圖例并生成圖表

下面看一個簡單的柱狀圖表:

代碼如下:

<?php
 // Standard inclusions 
 include("pChart/pData.class");
 include("pChart/pChart.class");

 // Dataset definition 
 $DataSet = new pData;
 //圖表數(shù)據(jù)
 $DataSet->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4),"Serie1");
 $DataSet->AddPoint(array(3,3,-4,1,-2,2,1,0,-1,6,3),"Serie2");
 $DataSet->AddPoint(array(4,1,2,-1,-4,-2,3,2,1,2,2),"Serie3");
 $DataSet->AddAllSeries();
 $DataSet->SetAbsciseLabelSerie();
 //數(shù)據(jù)圖例
 $DataSet->SetSerieName("Microsoft","Serie1");
 $DataSet->SetSerieName("IBM","Serie2");
 $DataSet->SetSerieName("Google","Serie3");

 // Initialise the graph
 $Test = new pChart(700,230);
 //設(shè)置圖表尺寸、樣式
 $Test->setFontProperties("Fonts/tahoma.ttf",8);
 $Test->setGraphArea(50,30,680,200);
 $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
 $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
 $Test->drawGraphArea(255,255,255,TRUE);
 $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
 $Test->drawGrid(4,TRUE,230,230,230,50);

 // Draw the 0 line
 $Test->setFontProperties("Fonts/MankSans.ttf",6);
 $Test->drawTreshold(0,143,55,72,TRUE,TRUE);

 // Draw the bar graph
 //柱狀圖要使用drawBarGraph()
 $Test->drawBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),TRUE,80);


 // Finish the graph
 //制作圖例、標題、字體等屬性
 $Test->setFontProperties("Fonts/MankSans.ttf",10);
 $Test->drawLegend(596,150,$DataSet->GetDataDescription(),255,255,255);
 $Test->setFontProperties("Fonts/MankSans.ttf",10);
 $Test->drawTitle(50,22,"Example",50,50,50,585);
 
 //生成圖表
 $imageFile = "example12.png";
 $Test->Render($imageFile);
 echo '<img src="'.$imageFile.'">';
?>

這個是雷達效果的:

代碼:

<?php
 // Standard inclusions 
 include("pChart/pData.class");
 include("pChart/pChart.class");

 // Dataset definition 
 $DataSet = new pData;
 $DataSet->AddPoint(array("Memory","Disk","Network","Slots","CPU"),"Label");
 $DataSet->AddPoint(array(6,4,7,4,5),"Serie1");
 $DataSet->AddPoint(array(2,3,5,2,4),"Serie2");
 $DataSet->AddSerie("Serie1");
 $DataSet->AddSerie("Serie2");
 $DataSet->SetAbsciseLabelSerie("Label");


 $DataSet->SetSerieName("Reference","Serie1");
 $DataSet->SetSerieName("Tested computer","Serie2");

 // Initialise the graph
 $Test = new pChart(400,400);
 $Test->setFontProperties("Fonts/tahoma.ttf",8);
 $Test->drawFilledRoundedRectangle(7,7,393,393,5,240,240,240);
 $Test->drawRoundedRectangle(5,5,395,395,5,230,230,230);
 $Test->setGraphArea(30,30,370,370);
 $Test->drawFilledRoundedRectangle(30,30,370,370,5,255,255,255);
 $Test->drawRoundedRectangle(30,30,370,370,5,220,220,220);

 // Draw the radar graph
 //要使用drawRadarAxis()生成雷達效果
 $Test->drawRadarAxis($DataSet->GetData(),$DataSet->GetDataDescription(),TRUE,20,120,120,120,230,230,230);
 $Test->drawFilledRadar($DataSet->GetData(),$DataSet->GetDataDescription(),50,20);

 // Finish the graph
 $Test->drawLegend(15,15,$DataSet->GetDataDescription(),255,255,255);
 $Test->setFontProperties("Fonts/tahoma.ttf",10);
 $Test->drawTitle(0,22,"Example",50,50,50,400);
 
 $imageFile = "example8.png";
 $Test->Render($imageFile);
 echo '<img src="'.$imageFile.'">';
?>

再看幾個其他的效果

1,餅圖:

2, 雙座標曲線圖:

3, 層疊柱狀圖:

4, 多圖表:

圖表的種類已經(jīng)相當豐富了,具體圖表設(shè)置請參考

http://pchart.sourceforge.net/documentation.php?topic=pChart

::源代碼下載:::

http://xiazai.jb51.net/202007/yuanma/pChart_jb51.rar

到此這篇關(guān)于PHP生成圖表pChart的示例解析的文章就介紹到這了,更多相關(guān)PHP生成圖表pChart內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

桂阳县| 江华| 河北省| 镇平县| 屏南县| 会同县| 西丰县| 治县。| 囊谦县| 天台县| 庆元县| 广饶县| 桂阳县| 临泉县| 鲁甸县| 祥云县| 怀柔区| 平原县| 梁河县| 罗山县| 靖安县| 黔江区| 杭锦后旗| 昆山市| 徐汇区| 太和县| 确山县| 雷波县| 鲁甸县| 岳西县| 屯留县| 额敏县| 汶川县| 都江堰市| 溧水县| 芦山县| 林州市| 怀安县| 襄垣县| 麻江县| 平阳县|