JpGraph简介

JpGraph是开源的PHP统计图表生成库,基于PHP的GD2图形库构建,把生成统计图的相关操作封装,隐藏了部分复杂的操作,使在PHP页面上输出统计图表变得更加容易。JpGraph的官方网站为:http://jpgraph.net,开发者可以在上面免费下载最新版的JpGraph和阅读相关帮助文档或示例程序。

相关学习推荐:PHP编程从入门到精通

JpGraph的配置

(1)修改文件php.ini

在include_path中添加jpgraph的目录路径,并将jpgraph解压后的src目录名称更改为jpgraph。

(2)检查PHP是否支持GD库

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

(3)修改文件jpgraph_gb2312.php

找到函数:function gb2utf8($gb)

把函数修改为:

  function gb2utf8($gb) {  return $gb;  }

即不使用gb2编码方式转utf8方式的那段代码。

折线图

<?php require_once ("jpgraph/jpgraph.php"); require_once ("jpgraph/jpgraph_line.php"); $data1 = array(523,634,371,278,685,587,490,256,398,545,367,577); //第一条曲线的数组 $graph = new Graph(500,300);  $graph->SetScale("textlin"); $graph->SetShadow();   $graph->img->SetMargin(60,30,30,70); //设置图像边距 $graph->graph_theme = null; //设置主题为null,否则value->Show(); 无效 $lineplot1=new LinePlot($data1); //创建设置两条曲线对象 $lineplot1->value->SetColor("red"); $lineplot1->value->Show(); $graph->Add($lineplot1); //将曲线放置到图像上 $graph->title->Set("CDN流量图");  //设置图像标题 $graph->xaxis->title->Set("月份"); //设置坐标轴名称 $graph->yaxis->title->Set("流 量(Gbits)"); $graph->title->SetMargin(10); $graph->xaxis->title->SetMargin(10); $graph->yaxis->title->SetMargin(10); $graph->title->SetFont(FF_SIMSUN,FS_BOLD); //设置字体 $graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); $graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);  $graph->xaxis->SetTickLabels($gDateLocale->GetShortMonth()); $graph->Stroke(); //输出图像 ?>

柱状图

<?php require_once ("jpgraph/jpgraph.php"); require_once ("jpgraph/jpgraph_bar.php"); $data = array(19,23,34,38,45,67,71,78,85,87,96,145);      $ydata = array("一","二","三","四","五","六","七","八","九","十","十一","十二"); $graph = new Graph(500,300); //创建新的Graph对象 $graph->SetScale("textlin"); //刻度样式 $graph->SetShadow();     //设置阴影 $graph->img->SetMargin(40,30,40,50); //设置边距 $graph->graph_theme = null; //设置主题为null,否则value->Show(); 无效 $barplot = new BarPlot($data); //创建BarPlot对象 $barplot->SetFillColor('blue'); //设置颜色 $barplot->value->Show(); //设置显示数字 $graph->Add($barplot); //将柱形图添加到图像中 $graph->title->Set("CDN流量图");  $graph->xaxis->title->Set("月份"); //设置标题和X-Y轴标题 $graph->yaxis->title->Set("流 量(Mbits)");                                    $graph->title->SetColor("red"); $graph->title->SetMargin(10); $graph->xaxis->title->SetMargin(5); $graph->xaxis->SetTickLabels($ydata); $graph->title->SetFont(FF_SIMSUN,FS_BOLD); //设置字体 $graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); $graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD); $graph->xaxis->SetFont(FF_SIMSUN,FS_BOLD); $graph->Stroke(); ?>

饼状图

<?php require_once ("jpgraph/jpgraph.php"); require_once ("jpgraph/jpgraph_pie.php"); require_once ("jpgraph/jpgraph_pie3d.php"); $data = array(19,23,34,38,45,67,71,78,85,87,90,96); $graph = new PieGraph(550,500); $graph->SetShadow(); $graph->title->Set("CDN流量比例"); $graph->title->SetFont(FF_SIMSUN,FS_BOLD); $pieplot = new PiePlot3D($data); //创建PiePlot3D对象 $pieplot->SetCenter(0.4, 0.5); //设置饼图中心的位置 $pieplot->SetLegends($gDateLocale->GetShortMonth()); //设置图例 $graph->Add($pieplot); $graph->Stroke(); ?>

更多相关文章

  1. PHP读取Excel图片对象,并保存替换为相对路径
  2. 详解PHP面向对象之后期静态绑定
  3. 数组转json后的结果是数组还是对象? (踩坑记录)
  4. 面向对象的方法是什么意思
  5. 面向对象的程序设计语言是一种什么语言
  6. PHP 底层原理之类和对象

随机推荐

  1. Android GestureDetector手势识别与多点
  2. 1.Android新版开发教程&笔记—Android AD
  3. Android高手进阶教程(八)之----Android W
  4. Android adb的使用略解
  5. android JNI 学习笔记
  6. AVD(android virtual device )路径设置
  7. android 输入法默认设置
  8. javax.net.ssl.SSLException: hostname i
  9. Android(安卓)项目打包时出现“TaskExecu
  10. Android(安卓)Studio 发布Jar ,aar 到Mave