• JpGraph使用详解


    微信平台开发的推广支持应用里,为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送,借此可以通过统计不同场景扫描的二维码的结果来获取商业信息。

    为了更形象地展示统计结果,可以使用php作图,不过这需要掌握复杂抽象的画图函数,这里推荐使用php的JpGraph图表类库,它使得作图变成了一件非常简单的事情,你只需从数据库中取出相关数据,定义标题,图表类型,然后的事情就交给JpGraph,只需掌握为数不多的JpGraph内置函数(可以参照JpGraph附带例子学习),就可以画出非常炫目的图表!

    因为我最近也在做phpcmw微信插件用户信息统计这块,所以对JpGraph作了一番研究应用。为避免初学者走我走过的弯路,我把调试记录整 理出来,分享给大家。

    通过本文你至少可以掌握以下技巧:

    1、能够使用JpGraph画出各式各样的图表

    2、解决中文乱码

    一、开启GD库

    Jpgraph需要GD库的支持,所以在调式JpGraph之前,确保GD库已开启,这很重要,不然后面的工作就没办法展开了。GD库在PHP5中是被默认安装的,我们只需开启GD库就可以了。

    打开php.ini文件,找到“;extension=php_gd2.dll”选项,将其前的分号“;”去掉,如图所示

    然后保存修改后的文件并重新启动apache服务器。可以通过phpinfo()函数来获取GD2函数库的安装信息,验证GD库是否安装成功。

    二、使用方法

    在使用JpGraph时,最好弄明白你使用的是哪一个版本,千万不要弄错,不然就会张冠李戴,让你调得头晕目眩的。也不要从网上找一些片断代码来调试,除非它是完整的,不然也会让你吃不了兜着走的了。唠叼就到这里了,下面开始调试。

    运行环境

    操作系统  W7

    代码运行环境  apache+php5.3

    JpGraph版本 jpgraph-3.5.0b1(点击这里下载或者到官网http://jpgraph.net/download/下载)

    解压下载的jpgraph-3.5.0b1压缩包,会看到一些目录:

    src:图表生成所依赖的代码包,其子目录Examples里有许多的实例。

    srcExamples:里面包函许多实例,使用它们可以制作各种各样的图表

    docs :jpgraph的开发文档,但全是英文的.。

    docschunkhtml:里面有许多案例及附有图表,通过它我们可以参考一下我们所需要的图表。

    在网站根目录建一个文件夹test,然后把把docs和src文件夹拷贝到前面所创建的目录test里,重命名src为jpgraph,这里因为Examples里面的实例文件加载的路径都是“require_once ('jpgraph/jpgraph.php');”

    实例

    把jpgraphExamplesaccbarex1.php拷贝到test目录(和jpgraph同一目录),然后打开打开http://localhost/test/accbarex1.php,我们就会看到生成的图

    哗,这是我们使用PHP作图很难实现的!

    来看一下它的源码吧:

    //加载生成图表对应的文件
    require_once ('jpgraph/jpgraph.php');
    require_once ('jpgraph/jpgraph_bar.php');
    
    //创建图表的数据,可以自定义
    $data1y=array(-8,8,9,3,5,6);
    $data2y=array(18,2,1,7,5,4);
    
    // 图表的长宽
    $graph = new Graph(500,400);
    $graph->SetScale("textlin");
    $graph->SetShadow();
    
    //图表的外边距
    $graph->img->SetMargin(40,30,20,40);
    // Create the bar plots
    $b1plot = new BarPlot($data1y);
    $b1plot->SetFillColor("orange");
    $b1plot->value->Show();
    $b2plot = new BarPlot($data2y);
    $b2plot->SetFillColor("blue");
    $b2plot->value->Show();
    // Create the grouped bar plot
    $gbplot = new AccBarPlot(array($b1plot,$b2plot));
    // ...and add it to the graPH
    $graph->Add($gbplot);
    
    //设置图表的标题字体、大小
    $graph->title->Set("Accumulated bar plots");
    $graph->xaxis->title->Set("X-title");
    $graph->yaxis->title->Set("Y-title");
    
    //和上面标题对应,设置标题的字体和大小
    $graph->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
    
    //生成本地图表,黙认留空,生成在当前目录,可以Stroke(“路径/文件名.png”)这样指定路径
    $graph->Stroke();
    

      

    JpGraph的难点是中文乱码的解决,本来还想把这个问题一块解决的,但似乎篇幅有点长了,留到下一篇吧

    小结:调试JpGraph,需要注意其运行环境、版本、操作系统以及代码的完整性,不然相同的代码可能却无法正确运行。

  • 相关阅读:
    Flash builder发布Air程序时设备配置文件supportedProfiles的配置
    Apple Swift中文入门教程【转发】
    管理书籍
    Android Market google play store帐号注册方法流程 及发布应用注意事项
    BMFont使用图片自定义字体(无需字体文件)
    google广告尺寸
    AndroidMainfest.xml文件解释
    win10 vscode ssh-remote配置免密登录
    vscode java配置
    vscode Java 11 or more recent is required to run. Please download and install a recent JDK”
  • 原文地址:https://www.cnblogs.com/tdalcn/p/6385403.html
Copyright © 2020-2023  润新知