`
qzriso
  • 浏览: 242962 次
  • 性别: Icon_minigender_1
  • 来自: ph
社区版块
存档分类
最新评论

PHP生成图表pChart

    博客分类:
  • php
阅读更多

pChart是一个开源的图表生成库,主要涉及3个Class:pChart.class, pData.class, pCache.class,可生成20多种简单或复杂的图表,支持PNG,JPG,GIF通用图片格式。数据源可以来自于Database,CSV,当然也可以手写。使用该程序PHP需要开启GD服务,先来看看pChart的工作流程:

pChart

主要分为三步:

  1. * 读取用于生成图表数据(数据库、文件)
  2. * 设计图表样式(圆角、底色等)
  3. * 制作标签、题目、图例并生成图表

 

下面看一个简单的柱状图表:

2009-8-6-13.13.35

代码如下:

<?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.'">';
?>

这个是雷达效果的:

2009-8-6-13.50.24

代码:

<?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,饼图:

2009-8-6-14.02.05

2, 双座标曲线图:

2009-8-6-14.03.44

3, 层叠柱状图:

2009-8-6-14.08.31

4, 多图表:

2009-8-6-14.13.45

图表的种类已经相当丰富了,具体图表设置请参考
http://pchart.sourceforge.net/documentation.php?topic=pChart
::源代码下载::

作者:李敬然(Gnie)
出处:{GnieTech} (http://www.cnblogs.com/gnielee/)
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
分享到:
评论

相关推荐

    php图表类pchart

    pChart是一个开源的图表生成库,主要涉及3个Class:pChart.class, pData.class, pCache.class,可生成20多种简单或复杂的图表,支持PNG,JPG,GIF通用图片格式。数据源可以来自于Database,CSV,当然也可以手写

    php生成图表库图片

    `php生成图表库图片`这个主题正是关注如何利用PHP来创建和保存图表为图像文件。在这个过程中,开发者通常会借助第三方库来简化工作流程。在给定的标签中提到了“php图表库”,这可能是指一个特定的PHP库,如`...

    PHP生成各种图表的代码

    `PHP生成各种图表的代码---pChart`是一个专为PHP设计的开源库,它允许开发者通过简单的编程接口创建高质量的图表,包括饼图、柱状图、线图等多种类型。 pChart库提供了丰富的功能,如自定义颜色、数据处理、图表...

    pchart2.1.3 图表

    1. **GD库**:GD库是PHP中用于处理图像的扩展库,支持创建、修改和显示多种图像格式,是pChart生成图表的基础。 2. **图表类型**:pChart支持多种图表类型,包括但不限于饼图、柱状图、线形图、条形图、面积图、...

    Pchart插件

    `images`是生成图表后的临时存储位置;`sources`包含了Pchart的核心源码。 **二、Pchart的主要功能** 1. **数据处理**:Pchart提供了pData类来处理数据,你可以轻松地添加、删除或修改数据系列。pData还支持数据...

    pChart 1.27

    每个示例文件都包含了编写代码以生成特定图表的步骤,这对于初学者来说是极其宝贵的资源,可以帮助他们快速上手并理解pChart的用法。 例如,`Example1.php` 可能是展示基本图表生成的入门示例,而 `Example17.php` ...

    PHP各种生成统计图

    除了这两个类型的图表,PHP还可以生成其他类型的统计图,如条形图、线形图等,它们在数据分析和报告中都有各自的用途。例如,线形图可用于显示数据随时间的变化趋势,而条形图则适用于比较不同类别的数量。生成这些...

    php生成数据统计图的类

    "php生成数据统计图的类"指的是PHP中用于创建这类图形的工具,它们简化了编程过程,使开发者能够快速有效地构建图形界面。下面我们将深入探讨PHP生成数据统计图的类及其相关知识点。 1. **类库介绍**: PHP中有很...

    基于PHP的HTML5交互式图表.docx

    尽管最终图表是在客户端通过JavaScript渲染的,但实际上前端的所有代码都由PHP生成。这意味着后端开发者无需关心JavaScript代码的具体细节,phpChart会自动生成所需的JavaScript和CSS代码。这极大地简化了开发过程,...

    PHP画各种曲线图(含300个实例)

    2. **高性能**:`jpgraph`库采用了高效的图像处理算法,能够在短时间内生成高质量的图形,满足大数据量的可视化需求。 3. **灵活性**:支持多种输出格式,如JPEG、PNG、GIF等,同时还可以直接输出到浏览器或保存到...

    php画各种曲线图

    5. **Google Charts API与PHP**:Google提供的图表API可以与PHP结合使用,通过PHP生成请求数据,然后在客户端用JavaScript展示图表。Google Charts支持各种图表类型,曲线图也不例外,而且其图表具有高度的定制性和...

    针对新浪SAE开发的图表程序_PHP_下载.zip

    在数据可视化方面,这个程序可能使用了PHP的数据可视化库,如PHPlot、pChart或Google Charts API,来创建各种类型的图表,如柱状图、饼图、折线图等。这些库可以帮助开发者轻松地从数据库中获取数据并生成美观的图表...

    最新php柱形图,饼图,线形图,很全

    下面我们将深入探讨如何使用PHP实现这些图表的生成。 1. **PHP 图表库介绍** PHP中有许多第三方库可以用来创建图表,例如: - `pChart`: 一个开源的PHP类库,支持多种图表类型,包括柱状图、饼图和线形图。 - `...

    多系列柱状图php动态

    在这个项目中,数据可能来自各种记录,例如销售报告、用户行为数据等,这些数据将被组织成表格形式存储,并由PHP查询和提取以生成图表。 3. **图形库**:为了在网页上显示柱状图,项目可能使用了某种PHP图形库,如...

    原生PHP绘制高质量的柱状图、饼状图、折线图。

    pChart是一个用PHP编写的开源图形库,它提供了一套完整的接口,用于生成高质量的统计图表。该库包含了各种类型的图表,如柱状图、饼状图、折线图,以及自定义颜色、字体、图例等高级特性,使得开发者可以轻松创建...

    20个非常有用的PHP类库

    1. **pChart**:一个开源统计图表生成库。它提供了多种图表类型的支持,如条形图、饼图等,并且易于集成到现有的项目中。 2. **Libchart**:另一个强大的统计图表生成库,提供了一种简单的方法来创建各种类型的图表...

Global site tag (gtag.js) - Google Analytics