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

        解析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號
        主站蜘蛛池模板: 精品无码一区在线观看| 99久久精品费精品国产一区二区| 精品视频无码一区二区三区| 999久久久国产精品| 精品国产一区二区三区不卡| 亚洲国产成人精品91久久久| 国产精品成人观看视频| 国产精品欧美久久久天天影视| 亚洲av永久无码精品网站| 精品无码国产污污污免费网站国产 | 国产叼嘿久久精品久久| 国产AV国片精品有毛| 无码精品国产VA在线观看| 日韩精品国产自在欧美| 国产在线精品福利大全| 99熟女精品视频一区二区三区 | 久久精品国产半推半就| 国产精品一区二区久久国产| 日韩精品无码久久久久久 | 亚洲福利精品电影在线观看| 久久亚洲中文字幕精品一区四| 国产香蕉国产精品偷在线| 欧美精品黑人巨大在线播放| 欧美精品/日韩精品/国产精品 | 精品国精品国产| 国产精品岛国久久久久| 国产成人精品久久一区二区三区| 97精品一区二区视频在线观看| 国产精品女同久久久久电影院| 嫩草伊人久久精品少妇AV| 人人妻人人澡人人爽精品日本| 日韩精品无码久久久久久| 日韩精品无码久久久久久 | 久久精品国产清高在天天线| 久久精品a亚洲国产v高清不卡 | 精品国际久久久久999波多野| 久久精品国产清高在天天线| 国产精品白丝AV网站| 国产69精品久久久久777| 久久精品国产半推半就| 国产成人精品久久亚洲高清不卡|