欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP生成圖表pChart的示例解析

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

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

主要分為三步:

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

下面看一個(gè)簡(jiǎn)單的柱狀圖表:

代碼如下:

<?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
 //制作圖例、標(biāo)題、字體等屬性
 $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.'">';
?>

這個(gè)是雷達(dá)效果的:

代碼:

<?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()生成雷達(dá)效果
 $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.'">';
?>

再看幾個(gè)其他的效果

1,餅圖:

2, 雙座標(biāo)曲線(xiàn)圖:

3, 層疊柱狀圖:

4, 多圖表:

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

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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決wincache不支持64位PHP5.5/5.6的問(wèn)題(提供64位wincache下載)

    解決wincache不支持64位PHP5.5/5.6的問(wèn)題(提供64位wincache下載)

    這篇文章主要解決wincache不支持64位PHP5.5/5.6的問(wèn)題,并提供64位wincache的下載,需要的朋友可以參考下。
    2016-06-06
  • php date與gmdate的獲取日期的區(qū)別

    php date與gmdate的獲取日期的區(qū)別

    PHP中的時(shí)間有2個(gè)格式化函數(shù):date()和gmdate(),在官方的文檔中的描述為
    2010-02-02
  • PHP中Echo結(jié)構(gòu)的用法

    PHP中Echo結(jié)構(gòu)的用法

    PHP echo嚴(yán)格來(lái)說(shuō)是一個(gè)語(yǔ)言結(jié)構(gòu)(language construct)而不是一個(gè)函數(shù),echo的功用是用來(lái)輸出字串,是使用率非常高的一個(gè)語(yǔ)言結(jié)構(gòu),特別是未使用樣版模式的系統(tǒng),與echo類(lèi)似的還有print,兩者差別并不大,普通的時(shí)候,其實(shí)使用echo就可以了
    2022-06-06
  • PHP基于phpqrcode類(lèi)生成二維碼的方法詳解

    PHP基于phpqrcode類(lèi)生成二維碼的方法詳解

    這篇文章主要介紹了PHP基于phpqrcode類(lèi)生成二維碼的方法,結(jié)合實(shí)例形式詳細(xì)分析了phpqrcode類(lèi)的具體功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-03-03
  • php中的觀(guān)察者模式簡(jiǎn)單實(shí)例

    php中的觀(guān)察者模式簡(jiǎn)單實(shí)例

    這篇文章主要介紹了php中的觀(guān)察者模式簡(jiǎn)單實(shí)例,觀(guān)察者模式是設(shè)計(jì)模式中比較常見(jiàn)的一個(gè)模式,包含兩個(gè)或者更多的互相交互的類(lèi),本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-01-01
  • PHP如何將XML轉(zhuǎn)成數(shù)組

    PHP如何將XML轉(zhuǎn)成數(shù)組

    這篇文章主要為大家詳細(xì)介紹了PHP將XML轉(zhuǎn)成數(shù)組的方法,感興趣的朋友可以參考一下
    2016-04-04
  • PHP+Ajax實(shí)現(xiàn)的無(wú)刷新分頁(yè)功能詳解【附demo源碼下載】

    PHP+Ajax實(shí)現(xiàn)的無(wú)刷新分頁(yè)功能詳解【附demo源碼下載】

    這篇文章主要介紹了PHP+Ajax實(shí)現(xiàn)的無(wú)刷新分頁(yè)功能,結(jié)合具體實(shí)例形式分析了php+ajax通過(guò)pdo操作類(lèi)讀取數(shù)據(jù)庫(kù)并分頁(yè)顯示的相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2017-07-07
  • php 啟動(dòng)報(bào)錯(cuò)如何解決

    php 啟動(dòng)報(bào)錯(cuò)如何解決

    php 啟動(dòng)時(shí)報(bào)錯(cuò)的情況,想必很多朋友都有遇到過(guò)吧,下面是具體的解決方法
    2014-01-01
  • php錯(cuò)誤、異常處理機(jī)制(補(bǔ)充)

    php錯(cuò)誤、異常處理機(jī)制(補(bǔ)充)

    異常處理: 意外,是在程序運(yùn)行過(guò)程中發(fā)生的意料這外的事,使用異常改變腳本正常流程
    2012-05-05
  • php libevent 功能與使用方法詳解

    php libevent 功能與使用方法詳解

    這篇文章主要介紹了php libevent 功能與使用方法,結(jié)合實(shí)例形式詳細(xì)分析了php libevent 基本功能、原理、使用方法及操作注意事項(xiàng),并附帶說(shuō)明了linux下php安裝libevent的方法,需要的朋友可以參考下
    2020-03-03

最新評(píng)論