PHP柱状图、饼状图和线性图

Posted on 28 四月 2009 by 柳城 ,阅读 615

转自:PHP iask

首先我们要介绍一下我们在这篇文章中使用的PHP类Libchart,这是个外国人(非中国国籍的地球人,被称为外国人!)写的免费类!使用起来非常简单。看出来了吧,我们是要用一个外国人写的PHP创建柱状图饼状图,和线性图的类,来工作的。如果你要学习这个类的写法,你也可以把这个类下载下来看看外国人的思路!

我们开始吧,首先下载这个类 点击此处:下载Libchart ,解压缩!

第一个用例,我们来创建一个纵向的柱状图:
首先我们包含这个类文件到我们的程序中,并且实例化这个类,程序如下:

requir_once('./Libchart/classes/libchart.php');
$chart = new VerticalBarChart(500, 250);//参数表示需要创建的图像的宽和高
 
$dataSet = new XYDataSet();//实例化一个XY轴数据对象
//为这个对象增加四组数据集合,Point对象的第一个参数表示X轴坐标,第二个表示Y轴坐标
$dataSet->addPoint(new Point("Jan 2005", 273));
$dataSet->addPoint(new Point("Feb 2005", 321));
$dataSet->addPoint(new Point("March 2005", 442));
$dataSet->addPoint(new Point("April 2005", 711));
 
//把这个数据集合传递给图形对象
$chart->setDataSet($dataSet);
//设置图形的标题,并把它作为一个png文件渲染
$chart->setTitle("Monthly usage for www.example.com");
$chart->render("generated/demo1.png");//这里需要一个路径和文件名称

就这么简单一个像下图一样美丽的柱状图就出来了。

PHP柱状图

PHP柱状图

PHP创建一个饼状图的过程和上边说的柱状图大同小异,具体实例代码如下:

$chart = new PieChart(500, 250);
 
$dataSet = new XYDataSet();
$dataSet->addPoint(new Point("Mozilla Firefox (80)", 80));
$dataSet->addPoint(new Point("Konqueror (75)", 75));
$dataSet->addPoint(new Point("Other (50)", 50));
$chart->setDataSet($dataSet);
 
$chart->setTitle("User agents for www.example.com");
$chart->render("generated/demo2.png");

创建饼状图就一点值得说一下就是Point的参数,第一个参数是占用比例的名称,第二个是数据,并不存在XY坐标;图如下:

饼状图

饼状图

创建一个线性图,这个有点和上边两个不同,就是数据集合的不同。我们也看到了XYDataSet这个数据集合,另外在这个类中还有一个数据集合XYSeriesDataSet(),这个其实是一个比XYDataSet更大的集合而已,他的元素就是XYDataSet,看一下例子和这段创建PHP线性图的程序,你一定就明白了:

include "../libchart/classes/libchart.php";
 
$chart = new LineChart(500, 250);
 
$serie1 = new XYDataSet();
$serie1->addPoint(new Point("06-01", 273));
$serie1->addPoint(new Point("06-02", 421));
$serie1->addPoint(new Point("06-03", 642));
$serie1->addPoint(new Point("06-04", 799));
$serie1->addPoint(new Point("06-05", 1009));
$serie1->addPoint(new Point("06-06", 1106));
 
$serie2 = new XYDataSet();
$serie2->addPoint(new Point("06-01", 280));
$serie2->addPoint(new Point("06-02", 300));
$serie2->addPoint(new Point("06-03", 212));
$serie2->addPoint(new Point("06-04", 542));
$serie2->addPoint(new Point("06-05", 600));
$serie2->addPoint(new Point("06-06", 850));
 
//这些和前面的两个看起来没有什么区别,关键在下边这一段,需要自己理解一下啦:
$dataSet = new XYSeriesDataSet();
$dataSet->addSerie("Product 1", $serie1);
$dataSet->addSerie("Product 2", $serie2);
$chart->setDataSet($dataSet);
$chart->setTitle("Sales for 2006");
$chart-> render("generated/demo3.png");

画出这样一个图来:

线性图

线性图

然后,把数据交给图形实例,然后渲染图形,和创建柱状图和线性图是一样的。其实国外还有好多创建柱状图和饼状图的类程序,有的还相当的NB,例如结合flash的,结合web css的不一而足,这个用起来相对简单一点,大家尽管拿去用好了!

转载请注明 : 来源于 PHP柱状图、饼状图和线性图 | 柳城

上一篇:

赞助商

3条评论 于 “PHP柱状图、饼状图和线性图”

  1. Kevin Kevin Says:

    好是好,就是不支持中文,o(︶︿︶)o 唉

    [回复]

  2. Kevin Kevin Says:

    呃,能支持中文的,把IIS服务停止后 把里面的字体换成中文字体就好了。

    [回复]

  3. tianjin tianjin Says:

    请问下。。Y轴的值怎么样才能自己换呢,如:我不想要0,200,400,800这些值,我要换掉,怎么弄

    [回复]

Leave a Reply

广告招租

[强] [握手] [可爱] [ok] [呲牙] :) [偷笑] [流泪] [疑问] [亲亲] [擦汗] [得意] [衰] [可怜] [抱拳] [坏笑] more »

无觅相关文章插件,快速提升流量

adobe free

adobe free

winrar 3 download

winrar 3 download freedownload

windows 7 free

windows 7 crack

key office 2010

office 2010 key

download photo shop free

photo shop serial

corel dvd moviefactory 6

corel dvd moviefactory 6 downloads

free corel photoshop download

free corel photoshop download keygen

photoshop key

photoshop key

free corel downloads

free corel downloads cracked

free winrar download for xp

download winrar for xp for free

serial corel draw 11

serial corel draw 11 serials

windows 7 key

windows 7 key

photo shop key

photo shop key

winrar password cracker serial

wirar password cracker

serial winzip 11

serial winzip 11 key

cs5 serialz

cs5 serialz free

office 2010 professional key

office 2010 key

office 2010 free

office 2010 key

windows key

windows key