dedecms织梦内容管理系统      
首页 | IT信息 | 网页制作 | 编程开发 | 软件办公 | 数 据 库 | 图形图象 | 网络安装 | 软件下载 | 专题 | 会员中心 | 支持论坛
  当前位置:首页>网页制作>PHP教程>文章内容
柱状图的类 - 纵向
来源: 作者: 发布时间:2006-04-28  
CODE:
<?php
class histogram_v
{
  /***********************************
   * V: vertical(纵)
   * HTML 柱状图
   * 设计: 第二信息(www.DearInfo.com) / 唐辉
   * 源稿设计日期: 2004年11月11日
   * PHP社区: http://php.DearInfo.com
   * 转载时请保留作者信息及出处, 多谢!
   * 使用方法:
   * $htg      = new histogram_v;
   * $htg->num  = "250,370,621,720,326,455,132,345,611,126,551,266";
   * $htg->label  = "1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月";
   * $htg->show();
   ************************************/

  //数值
  var $num;

  //低部标签值
  var $label;

  //柱状图高度, 默认为200, 用户可自定义
  var $height=200;

  //每条柱的宽度,默认为25, 用户可自定义
  var $perwidth=25;

  function show()
  {
    //获取外部数值
    $shu=split(",",$this->num);
    //获取标签值
    $biaoqian=split(",",$this->label);
    //颜色, 默认为20种, 如果客户数据超过20种, 则回到第一种, 如此循环.
    $color  = array('#97bd00','#009900','#cc3300',
              '#ffcc00','#3366cc','#33cc33',
              '#ff9933','#cccc99','#99cc66',
              '#66ff99','#4f6600','#003300',
              '#481000','#7d6400','#173064',
              '#1a6a1a','#974b00','#78793c',
              '#557e27','#009337');        
    if ($shu=="") die("error id:1");
    $shuju=split(",",$shu);
    //计算最大值
    for($i=0;$i<count($shu);$i++)
    {
      if(!is_numeric($shu[$i])) die("error id:2");
      if($shu[$i]>$zuidashu) $zuidashu=$shu[$i];
    }
  ?>
  <table border=0>
    <tr valign="bottom"><?php /*一定要设置为低部对齐*/ ?>
    <?php
      for($i=0,$j=0;$i<count($shu);$i++,$j++)
      {
        if($j>19){$j=0;}
    ?>
    <td align="center">
    <?php
      /*在柱状图的顶端输出数值*/
      echo $shu[$i];
    ?>
        <table height="<?echo floor(($this->height/$zuidashu)*$shu[$i]);?>" border=0>
        <tr>
        <td bgcolor="<?php /*柱状颜色*/ echo $color[$j]; ?>" width="<?php /*第条柱的宽度*/ echo $this->perwidth; ?>"></td>
          </tr>
      </table><font color="#3F7F9F"><?php /*打印低部对应标签*/ echo $biaoqian[$i];?></font>
      </td>
    <?php } ?>
    </tr>
  </table>
  <?php
  } //End function
} // End histogram Class

?>
演示效果如下:

图片附件: photo.jpg (2006-4-25 15:05, 14.93 K)

 

TAG: 纵向 shu // php var if php/ 标签 zuidashu 认为 split
上一篇:一个3D的饼图类   下一篇:用 Fireworks 做一个信笺(1)
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·PHP生成曲线图
·Windows 系统下的安装
·一个3D的饼图类
·用php实现gb2312和unicode间的编
·柱状图的类 - 水平
·php中文手册
·PHP的类与对象
·《PHP程序设计》 第二章&nb
·《PHP程序设计》 第三章&nb
·JS弹窗详解
·《PHP程序设计》第一章 什
·处理表单
  相关文章
·一个3D的饼图类
·柱状图的类 - 水平
·PHP生成曲线图
·用php实现gb2312和unicode间的编
·PHP新手上路(一)
·PHP新手上路(二)
·仅用PHP4 Session实现的迷
·仅用PHP4 Session实现的迷
·实例学习PHP之FastTemplate 
·PHP也可以當成Shell Script
·简单的页面缓冲技术(一)
·简单的页面缓冲技术(二)
Power by Anxi35