站長資訊網
最全最豐富的資訊網站

解析PHP生成圖表pChart的示例

解析PHP生成圖表pChart的示例

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

解析PHP生成圖表pChart的示例

相關學習推薦:PHP編程從入門到精通

主要分為三步:

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

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

解析PHP生成圖表pChart的示例

代碼如下:

<?php  // Standard inclusions   include("pChart/pData.class");  include("pChart/pChart.class");   // Dataset definition   $DataSet = new pData;  //圖表數據  $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();  //數據圖例  $DataSet->SetSerieName("Microsoft","Serie1");  $DataSet->SetSerieName("IBM","Serie2");  $DataSet->SetSerieName("Google","Serie3");   // Initialise the graph  $Test = new pChart(700,230);  //設置圖表尺寸、樣式  $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生成圖表pChart的示例

代碼:

<?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,餅圖:

解析PHP生成圖表pChart的示例

2, 雙座標曲線圖:

解析PHP生成圖表pChart的示例

3, 層疊柱狀圖:

解析PHP生成圖表pChart的示例

4, 多圖表:

解析PHP生成圖表pChart的示例

圖表的種類已經相當豐富了,具體圖表設置請參考

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

::源代碼下載:::

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

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
亚洲国产精品张柏芝在线观看| 91探花福利精品国产自产在线| 国产精品嫩草影院AV| 精品性影院一区二区三区内射| 尹人久久久香蕉精品| 成人国产精品999视频| 日韩人妻精品无码一区二区三区| 最新国产午夜精品视频不卡| 亚洲日韩国产AV无码无码精品| 亚拍精品一区二区三区| 99re热精品这里精品| 亚洲国产精品久久久久婷婷老年| 国内精品免费在线观看| 中文字幕精品在线| 久久精品国产一区二区三区| 亚洲人午夜射精精品日韩| 日韩人妻无码免费视频一区二区三区| 日韩精品无码永久免费网站| 国产精品无码av天天爽| 成人精品一区二区电影| 欧美日韩精品一区二区在线视频| 国产精品lululu在线观看| 久久久久久精品久久久久| 2021午夜国产精品福利| 亚洲精品不卡视频| 亚洲精品影院久久久久久| 中文精品久久久久国产网址| 91精品视品在线播放| 精品无人区一区二区三区| 91精品国产高清久久久久久| 久久久久99精品成人片直播| 91精品天美精东蜜桃传媒入口| 91精品久久久久久久久中文字幕| 久久99精品久久久久久久不卡| 久久99国产综合精品免费| 3d精品重口littleballerina| 2021国产精品露脸在线| 2021国产成人午夜精品| 国产福利91精品一区二区三区| 精品熟人妻一区二区三区四区不卡| 亚洲区精品久久一区二区三区 |