PHP利用jpgraph类画折线图

1 JpGraph简介

JpGraph是开源的PHP统计图表生成库,基于PHPGD2图形库构建,把生成统计图的相关操作封装,隐藏了部分复杂的操作,使在PHP页面上输出统计图表变得更加容易。

JpGraph的官方网站为:http://www.aditus.nu/jpgraph/index.php,开发者可以在上面免费下载最新版的JpGraph和阅读相关帮助文档或示例程序。

 

2 JpGraph的配置

在使用JpGraph前,必须对其进行配置,主要有两方面:1、开启GD2图形库;2、配置中文显示。主要步骤如下:

 

1)检查PHP是否支持GD

php.ini文件中找到语句;extension=php_gd2.dll

把上述语句前的;号去掉,即去掉注释。如果因为PHP版本不同而找不到此语句,则可直接添加extension=php_gd2.dll

 

2)由于JpGraph目前仅支持simhei一种中文字体,所以第二步应把simhei.ttf放到如下路径中

windows中:C:\Windows\Fonts\

Linux中:/usr/X11R6/lib/X11/fonts/truetype/

 

3)修改文件jpgraph_ttf.inc.php

添加语句:DEFINE("FF_SIMSUN",30); //其中30可以为其他数字,只要不与其他语句重复就可以

 

4)修改文件jpg-config.inc.php

找到语句:DEFINE('CHINESE_TTF_FONT','bkai00mp.ttf');

替换为:DEFINE('CHINESE_TTF_FONT','simsun.ttc');

 

5)修改文件jpgraph_gb2312.php

找到函数:function gb2utf8($gb)

把函数修改为:

   function gb2utf8($gb) {

    return $gb;

 

    }

即把gb2编码方式转utf8方式的那段代码注释掉

 

3 JpGraph的使用

下载JpGraph并解压后,将看到JpGraph库实际上就是众多的PHP文件,他们封装了使用PHP预定义库进行图形生成的复杂操作。其中Examples文件夹里面的是示例程序,JpGraph的相关特性将可以在这些示例中得以体现。其他文件则是JpGraph的库文件,在实际使用JpGraph的过程中需要includerequire相应的文件。

以下是一个详细的例子(复制的时候请注意,生成一个ANSI格式)

 <?php
 //用PHP画折线图
 include("jpgraph/jpgraph.php");
 include("jpgraph/jpgraph_line.php");
 $datay = array(8320,9360,14956,17028,13060); //填充的数据
 $graph = new Graph(600,300,"auto");    //生成画布
 //设置画布的边距
 $graph->img->SetMargin(50,40,30,40);
 //设置拆线的平滑状态
 $graph->img->SetAntiAliasing();
 //设置刻度样式
 $graph->SetScale("textlin");
 //创建画布阴影
 $graph->SetShadow();
 //设置标题
 $graph->title->Set("《LINUX系统管理员》图书月销售客额折线图");
 //设置标题字体
 $graph->title->SetFont(FF_SIMSUN,FS_BOLD);
 //设置画布的背景颜色为淡蓝色
 $graph->SetMarginColor("lightblue");
 //设置Y轴标题的字体
 $graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);

 $graph->xaxis->SetPos("min");
 $graph->yaxis->HideZeroLabel();
 $graph->ygrid->SetFill(true,'#EFEFEF@0.5','#BBCCFF@0.5');
 //设置X轴
 $a=array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");
 $graph->xaxis->SetTickLabels($a);
 //设置X坐标轴的字体
 $graph->xaxis->SetFont(FF_SIMSUN);
 $graph->yscale->SetGrace(20);
 //创建折线图对象
 $p1 = new LinePlot($datay);
 //设置数据坐标点为图形标记
 $p1->mark->SetType(MARK_FILLEDCIRCLE);
 //设置填充的颜色
 $p1->mark->SetFillColor("red");
 //设置圆柱形标记的直径为4像素
 $p1->mark->SetWidth(4);
 //设置拆线颜色为蓝色
 $p1->mark->SetColor("blue");
 //在X轴的各坐标点中心位置绘制拆线
 $p1->SetCenter();
 //在统计图上绘制折线
 $graph->Add($p1);
 //输出图像
 $graph->Stroke();
?>



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值