发布于 2015-12-30 04:26:39 | 167 次阅读 | 评论: 0 | 来源: PHPERZ
pChart PHP图表制作
pChart是一个基于GD library(图形处理函数库)开发的PHP图表制作开源项目。
<?php
// Standard inclusions
include("../pchart/class/pData.class.php");
include("../pchart/class/pDraw.class.php");
include("../pchart/class/pImage.class.php");
include("../pchart/class/pPie.class.php");
$MyData = new pData();
$MyData->addPoints(array(40,60,15,10,6,4,1,2),"ScoreA");
$MyData->setSerieDescription("ScoreA","Application A");
/* Define the absissa serie */
$MyData->addPoints(array("购物卡","e卡通","支付宝","微信支付","翼支付","积分支付","红包","优惠券"),"Labels");
$MyData->setAbscissa("Labels");
/* Create the pChart object */
$myPicture = new pImage(700,230,$MyData);
/* Draw the background */
$Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
$myPicture->drawFilledRectangle(0,0,700,230,$Settings);
/* Overlay with a gradient */
$Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
$myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
$myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"
Alpha"=>80));
/* Add a border to the picture */
$myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
/* Write the picture title */
$myPicture->setFontProperties(array("FontName"=>"../pchart/fonts/simsun.ttc","FontSize"=>6));
$myPicture->drawText(10,13,"drawPieLegend - Draw pie charts legend",array("R"=>255,"G"=>255,"B"=>255));
/* Set the default font properties */
$myPicture->setFontProperties(array("FontName"=>"../pchart/fonts/simsun.ttc","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
/* Enable shadow computing */
$myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>150,"G"=>150,"B"=>150,"Alpha"=>100));
/* Create the pPie object */
$PieChart = new pPie($myPicture,$MyData);
/* Draw two AA pie chart */
$PieChart->draw2DPie(200,100,array("Border"=>TRUE));
$PieChart->draw2DPie(440,115,array("Border"=>TRUE));
/* Write down the legend next to the 2nd chart*/
$PieChart->drawPieLegend(550,70);
/* Write a legend box under the 1st chart */
$myPicture->setFontProperties(array("FontName"=>"../pchart/fonts/simsun.ttc","FontSize"=>6));
$PieChart->drawPieLegend(90,176,array("Style"=>LEGEND_BOX,"Mode"=>LEGEND_HORIZONTAL));
/* Write the bottom legend box */
$myPicture->setFontProperties(array("FontName"=>"../pchart/fonts/simsun.ttc","FontSize"=>6));
$myPicture->drawGradientArea(1,200,698,228,DIRECTION_VERTICAL,array("StartR"=>247,"StartG"=>247,"StartB"=>247,"EndR"=>217,"EndG"=>217,"
EndB"=>217,"Alpha"=>20));
$myPicture->drawLine(1,199,698,199,array("R"=>100,"G"=>100,"B"=>100,"Alpha"=>20));
$myPicture->drawLine(1,200,698,200,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>20));
$PieChart->drawPieLegend(10,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
$myPicture->stroke();
?>