`

使用libchart绘制图表

    博客分类:
  • php
阅读更多


头文件:

include("./class/libchart/classes/libchart.php");

由于绘制图表的需求不是很常见,因此,没有包含在class/class.php中。当需要绘制图表时,请单独包含此头文件。

在每个新的工程里,都有自己的LOGO,此LOGO将会出现在绘制出的图形左上角,因此,在使用前请更换./class/libchart/images/目录下的PoweredBy.png为工程LOGO,并保持文件名不变。


输出图形的方法有两种,一种是直接输出,一种是在服务器端生成。


直接输出的方法

直接输出的方法即使用PHP发送头方法,将PHP文件做为一个图像文件输出,显示在调用端。示例代码如下:

    <?php

    include("./class/class.php");

    include("./class/libchart/classes/libchart.php");


    header("Content-type: image/png"); // 将此页面显示为一个图片

    $chart = new PieChart(500, 300); // 设置饼图,图像大小为500x300


    $dataSet = new XYDataSet();

    $dataSet->addPoint(new Point("人力成本", 50));

    $dataSet->addPoint(new Point("设备损耗", 75));

    $dataSet->addPoint(new Point("场地租用", 30));

    $chart->setDataSet($dataSet);


    $chart->setTitle("工程预算比例图,单位-百万元"); // 设置图表标题,可以为中文

    $chart->render();

    ?>

这样绘制出的图形为一饼状图,如下图所示:
(图片已丢失)

这里同时要注意libchart的结构,只要更换$char的对象类型即可更换输出的图形类型,因此,其它图形如柱状图等可在此基础上推导。


在服务器端生成的方法为(以水平柱状图表为例):

    <?php

    include("./class/class.php");

    include("./class/libchart/classes/libchart.php");


    $chart = new HorizontalBarChart(600, 170);


    $dataSet = new XYDataSet();

    $dataSet->addPoint(new Point("/wiki/Im.php", 50));

    $dataSet->addPoint(new Point("/wiki/Web_Browser.php", 75));

    $dataSet->addPoint(new Point("/wiki/Web.php", 122));

    $chart->setDataSet($dataSet);

    $chart->getPlot()->setGraphPadding(new Padding(5, 30, 20, 140)); // 设置图标空白,分别为顶,右,下,左


    $chart->setTitle("www.example.com网站最多访问页面 "); // 图标标题

    $chart->render("generated/demo2.png"); // 输出图形,输出目录必须为可写,Linux上设置为777

    ?>


    <html>

    <head>

    <title>Libchart horizontal bars demonstration</title>

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />

    </head>

    <body>

    <img alt="Horizontal bars chart" src="generated/demo2.png" style="border: 1px solid gray;"/>

    </body>

    </html>


输出图形如下图所示:
[php][libchar]使用libchart绘制图表 - Keiyi - Keiyis Redemption


这种方法一定要注意生成目录一定要可写,本例中将文件生成在./generated目录下,在linux系统下将此目录权限设置为777,在windows目录下将其设置为everyone可写。



Libchart几种常用图形设置:

图形样式


libchart类名

饼图


PieChart

水平柱状图


HorizontalBarChart

重直柱状图


VerticalBarChart

折线图


LineChart



这些类的默认的初始化时可以带参数,这个参数用来指定图形大小,也可以不带参数,这时以默认大小生成图形。


libchart可以绘制多维图形,方法是给$char对象添加多个序列,如下边是一个多维垂直柱状图示例:


    $chart = new VerticalBarChart();


    $serie1 = new XYDataSet();

    $serie1->addPoint(new Point("YT", 64));

    $serie1->addPoint(new Point("NT", 63));

    $serie1->addPoint(new Point("BC", 58));

    $serie1->addPoint(new Point("AB", 58));

    $serie1->addPoint(new Point("SK", 46));

    $serie2 = new XYDataSet();

    $serie2->addPoint(new Point("YT", 61));

    $serie2->addPoint(new Point("NT", 60));

    $serie2->addPoint(new Point("BC", 56));

    $serie2->addPoint(new Point("AB", 57));

    $serie2->addPoint(new Point("SK", 52));

    $dataSet = new XYSeriesDataSet();

    $dataSet->addSerie("1990", $serie1);

    $dataSet->addSerie("1995", $serie2);

    $chart->setDataSet($dataSet);

    $chart->getPlot()->setGraphCaptionRatio(0.65);


    $chart->setTitle("Average family income (k$)");

    $chart->render("generated/demo2.png");


添加多个序列的方法为,使用XYSeriesDataSet类下的addSerie方法进行添加,添加的对象为一个XYDataSet类对象。其它图形方法与之类似。
分享到:
评论

相关推荐

    libchart 1.2.2

    Libchart绘制图表的确很好用,唯一可惜的就是对中文支持不好,在图表里显示为乱码。琢磨了一下,运用之前修改dotproject中文乱码问题的经验,改了改Libchart,现在成功的支持中文字体了。 做法很简单: 1、自己写的...

    Libchart for PHP5图形生成类库

    使用Libchart进行图表开发的基本步骤如下: 1. **安装**:下载并解压libchart-1.2.1压缩包,将其包含的类库文件引入到PHP项目中。 2. **数据准备**:根据需求组织好要绘制的数据,通常是二维数组格式。 3. **实例...

    php统计图libchart类实例

    本实例将深入探讨如何利用libchart类在PHP中绘制统计图表。 首先,libchart是一个开源项目,它提供了一个简单的API,使开发者能够快速创建出具有专业外观的图表。其主要优点包括灵活性、易用性和丰富的定制选项。...

    libchart_hw6uhv_LIBCHArT_

    标题中的"libchart_hw6uhv_LIBCHArT_"似乎是指一个特定的项目或库,可能与图表绘制有关,因为"LIBCHArT"通常与图表库相关。这个标题暗示了我们正在处理一个使用PHP语言开发的图表组件,可能是用于在Web应用中生成...

    php libchart库,已解决中文显示问题

    在最新版本中,Libchart已经优化了对中文字符的支持,使得在非英文环境下使用更加友好。 1. **Libchart的基本结构与安装** Libchart由一系列PHP类组成,每个类对应一种特定类型的图表或图表元素。要使用Libchart,...

    libchart-1.3

    总结来说,libchart-1.3是PHP开发者的得力工具,无论你是新手还是经验丰富的程序员,都可以利用这个库轻松实现饼状图的绘制,提升你的项目数据可视化的专业水平。通过开源和共享,libchart不仅是一个软件产品,更是...

    libchart_6mx90t_LIBCHArT_

    【标题】"libchart_6mx90t_LIBCHArT_" 暗示我们关注的是一个与"LIBCHArT"相关的项目,这可能是某个图表库或图形绘制工具,特别是针对PHP脚本语言的。在PHP环境中,这样的库通常用于生成动态数据可视化图表,帮助...

    up_119813_libchart_w8iwb.rar

    在实际开发中,使用Libchart时,开发者首先需要实例化相应的图表类,并配置好数据源、颜色、标题等参数。然后,调用`render()`方法生成图表,并将结果输出到页面上。如果需要动态更新图表,可以结合PHP和JavaScript...

    libchart_pc2p6i_LIBCHArT_

    LIBCHArT可能是这个库的特定版本或者项目名称,暗示它专注于提供图表绘制功能。在描述中提到的"php源码实现,这是一个用php脚本语言写的博客系统",这表明LIBCHArT可能被集成到一个博客平台中,用于展示统计信息或者...

    up_1003902_libchart_jho0k.rar

    Libchart是一款基于PHP的开源图表绘制库,它为开发者提供了一种简便的方式来创建各种动态图表。这份名为"up_1003902_libchart_jho0k.rar"的压缩包,包含了Libchart的源码以及相关的测试代码,是学习和应用Libchart的...

    libchart:使用GD生成图表的库

    2. **数据准备**:根据要绘制的图表类型,整理好相应的数据数组。数据可以来源于数据库查询结果、文件读取或者其他任何PHP可以访问的数据源。 3. **实例化类**:创建一个图表类的实例,比如`LineChart`或`BarChart`...

    up_366272_libchart_36c2p8.rar

    【描述】提到,Libchart是一个使用PHP编写的简单图表绘制工具,包含了一系列的测试代码。这些测试代码是理解类库功能和用法的重要资源,开发者可以通过查看和运行这些代码来学习如何有效地使用Libchart。通过研究...

    up_507525_libchart_yen93.rar

    在源码中,我们可以找到“libchart”目录,这通常包含了Libchart的核心类库文件,这些文件包含了绘制图表所需的各种函数和方法。开发者可以通过调用这些函数,设置图表的属性(如颜色、大小、标题、轴标签等),并...

    up_1217205_libchart_25n44.rar

    【描述】中提到,Libchart是一个轻量级的PHP图表库,能够帮助开发者实现各种类型的图表绘制,如柱状图、饼图、线形图等。它通过处理数据并将其转换为图形的方式,使得数据展示更加直观和易于理解。此外,该压缩包内...

    up_183279_libchart_lgb6zh.rar

    【标题】"up_183279_libchart_lgb6zh.rar" 提供的是一份使用PHP语言实现的图表绘制库——Libchart。Libchart是一个轻量级且易于使用的PHP类库,专为在PHP环境中生成各种图表而设计。它能够帮助开发者创建出具有专业...

    php生成图形(Libchart)实例

    通过实例代码的分析,我们将了解Libchart的基本使用方法和如何根据不同类型的数据集绘制相应的图形。 首先,Libchart类库的安装和引入是生成图形的第一步。文档中提到了通过“require”语句引入libchart.php类库...

    up_362001_libchart_up6brh.rar

    使用Libchart时,开发者首先需要引入库的文件,然后实例化相应的图表类(如PieChart、BarChart等),设置数据和样式,最后通过`render()`方法生成图表并将其输出到HTML页面上。库通常会提供丰富的选项来自定义图表的...

    up_732910_libchart_kpd4x.rar

    Libchart是一款专门为PHP设计的开源图表绘制类库,它为开发者提供了创建各种图表的强大工具,简化了动态图表的制作过程。 Libchart的出现,极大地弥补了PHP在图形生成领域的短板。通过这个库,开发者无需深入了解...

    up_146054_libchart_7aqd0c.rar

    综上所述,这个压缩包“up_146054_libchart_7aqd0c.rar”提供了一个完整的PHP图表绘制解决方案。它包括了libchart库的源代码、测试代码和示例,可以帮助开发者快速上手并自定义图表生成过程。对于那些希望在PHP项目...

    ios-ChartLib.zip

    "ios-ChartLib.zip" 提供的ChartLib显然是一个专为iOS平台设计的图表库,它支持流畅的柱状图、折线图以及组合图的绘制。这个库对于那些需要展示统计信息、分析数据或创建动态图表的应用来说非常有用。 首先,我们来...

Global site tag (gtag.js) - Google Analytics