头文件:
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绘制图表的确很好用,唯一可惜的就是对中文支持不好,在图表里显示为乱码。琢磨了一下,运用之前修改dotproject中文乱码问题的经验,改了改Libchart,现在成功的支持中文字体了。 做法很简单: 1、自己写的...
使用php做的,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,学习研究参考均可
一份不错的php源码,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,阅读提升自我参考代码
脚本语言服务端php实现,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,手头参考的例子程序代码
服务端脚本语言php实现,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,作为开发的各种例子程序代码
php源码实现,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,阅读提升自我参考代码
一份不错的php源码,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,作为开发的各种例子程序代码
利用php实现,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,参看、研究和阅读,提升自我
php脚本语言实现,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,参看、研究和阅读,提升自我
一份不错的php源码,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,作为开发的各种例子程序代码
采用php的源码实现,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,阅读提升自我参考代码
采用php的源码实现,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,手头参考的例子程序代码
一份不错的php源码,libchart是一个使用php实现的简易的php的各种图表绘制的类库程序,包含相关的php的测试代码,参考学习应运于开发实践不错的例子