首页后端开发PHP解析PHP生成图表pChart的示例

解析PHP生成图表pChart的示例

时间2024-02-02 09:02:03发布访客分类PHP浏览1036
导读:收集整理的这篇文章主要介绍了解析PHP生成图表pChart的示例,觉得挺不错的,现在分享给大家,也给大家做个参考。pChart是一个开源的图表生成库,主要涉及3个Class:pChart.class, pData.class, pCache...
收集整理的这篇文章主要介绍了解析PHP生成图表pChart的示例,觉得挺不错的,现在分享给大家,也给大家做个参考。

pChart是一个开源的图表生成库,主要涉及3个Class:pChart.class, pData.class, pCache.class,可生成20多种简单或复杂的图表,支持PNG,jpg,GIF通用图片格式。数据源可以来自于Database,CSV,当然也可以手写。使用该程序PHP需要开启GD服务,先来看看pChart的工作流程:

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

@H_512_12@

主要分为三步:

  1. * 读取用于生成图表数据(数据库、文件)
  2. * 设计图表样式(圆角、底色等)
  3. * 制作标签、题目、图例并生成图表

下面看一个简单的柱状图表:

代码如下:

?php // Standard inclusions  include("pChart/pData.class");
     include("pChart/pChart.class");
     // Dataset definITion  $DataSet = new pData;
     //图表数据 $DataSet->
    AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4),"Serie1");
     $DataSet->
    AddPoint(array(3,3,-4,1,-2,2,1,0,-1,6,3),"Serie2");
     $DataSet->
    AddPoint(array(4,1,2,-1,-4,-2,3,2,1,2,2),"Serie3");
     $DataSet->
    AddAllSeries();
     $DataSet->
    SetAbsciseLabelSerie();
     //数据图例 $DataSet->
    SetSerieName("microsoft","Serie1");
     $DataSet->
    SetSerieName("IBM","Serie2");
     $DataSet->
    SetSerieName("GOOGLE","Serie3");
     // Initialise the graph $test = new pChart(700,230);
     //设置图表尺寸、样式 $Test->
    setFontPRoPErties("Fonts/tahoma.ttf",8);
     $Test->
    setGraphArea(50,30,680,200);
     $Test->
    drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
     $Test->
    drawRoundedRectangle(5,5,695,225,5,230,230,230);
     $Test->
    drawGraphArea(255,255,255,TRUE);
     $Test->
    drawScale($DataSet->
    GetData(),$DataSet->
    GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
     $Test->
    drawGrid(4,TRUE,230,230,230,50);
     // Draw the 0 line $Test->
    setFontProperties("Fonts/MankSans.ttf",6);
     $Test->
    drawTreshold(0,143,55,72,TRUE,TRUE);
     // Draw the bar graph //柱状图要使用drawBargraph() $Test->
    drawBarGraph($DataSet->
    GetData(),$DataSet->
    GetDataDescription(),TRUE,80);
     // Finish the graph //制作图例、标题、字体等属性 $Test->
    setFontProperties("Fonts/MankSans.ttf",10);
     $Test->
    drawLegend(596,150,$DataSet->
    GetDataDescription(),255,255,255);
     $Test->
    setFontProperties("Fonts/MankSans.ttf",10);
     $Test->
    drawTitle(50,22,"Example",50,50,50,585);
      //生成图表 $imageFile = "example12.png";
     $Test->
    Render($imageFile);
     echo 'img src="'.$imageFile.'">
    ';
    ?>
    

这个是雷达效果的:

代码:

?php // Standard inclusions  include("pChart/pData.class");
     include("pChart/pChart.class");
     // Dataset definition  $DataSet = new pData;
     $DataSet->
    AddPoint(array("Memory","disk","Network","Slots","CPU"),"Label");
     $DataSet->
    AddPoint(array(6,4,7,4,5),"Serie1");
     $DataSet->
    AddPoint(array(2,3,5,2,4),"Serie2");
     $DataSet->
    AddSerie("Serie1");
     $DataSet->
    AddSerie("Serie2");
     $DataSet->
    SetAbsciseLabelSerie("Label");
     $DataSet->
    SetSerieName("Reference","Serie1");
     $DataSet->
    SetSerieName("Tested computer","Serie2");
     // Initialise the graph $Test = new pChart(400,400);
     $Test->
    setFontProperties("Fonts/tahoma.ttf",8);
     $Test->
    drawFilledRoundedRectangle(7,7,393,393,5,240,240,240);
     $Test->
    drawRoundedRectangle(5,5,395,395,5,230,230,230);
     $Test->
    setGraphArea(30,30,370,370);
     $Test->
    drawFilledRoundedRectangle(30,30,370,370,5,255,255,255);
     $Test->
    drawRoundedRectangle(30,30,370,370,5,220,220,220);
     // Draw the radar graph //要使用drawRadarAxis()生成雷达效果 $Test->
    drawRadarAxis($DataSet->
    GetData(),$DataSet->
    GetDataDescription(),TRUE,20,120,120,120,230,230,230);
     $Test->
    drawFilledRadar($DataSet->
    GetData(),$DataSet->
    GetDataDescription(),50,20);
     // Finish the graph $Test->
    drawLegend(15,15,$DataSet->
    GetDataDescription(),255,255,255);
     $Test->
    setFontProperties("Fonts/tahoma.ttf",10);
     $Test->
    drawTitle(0,22,"Example",50,50,50,400);
      $imageFile = "example8.png";
     $Test->
    Render($imageFile);
     echo 'img src="'.$imageFile.'">
    ';
    ?>
    

再看几个其他的效果

1,饼图:

2, 双座标曲线图:

3, 层叠柱状图:

4, 多图表:

图表的种类已经相当丰富了,具体图表设置请参考

http://pchart.sourceforge.net/documentation.php?topic=pChart

::源代码下载:::

http://xiazai.jb51.net/202007/yuanma/pChart_jb51.rar

以上就是解析PHP生成图表pChart的示例的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 解析PHP生成图表pChart的示例
本文地址: https://pptw.com/jishu/596634.html
详解PHP底层运行机制与工作原理 学习PHP实现的曲线统计图表示例

游客 回复需填写必要信息