如何用php作线形图的函数

  •   2009-08-01/08:15
  • 很高兴大家对PHP如此的情有独钟!
    下面就给大家介绍php作线形图的函数:

    /*
    函数说明
    $data:y轴数据(数组)
    $graphdata:y轴数据--百分比(数组)
    $label:x轴数据(数组)
    $height:图像高度
    $width:图像宽度
    $font:字号
    $dot:决定点的大小
    $bg:背景色
    $line :线色
    $text :文本色
    $dotcolor:点色
    $file:输出图像文件名
    */

    function qximage($data ,
    $graphdata,
    $label ,
    $height,
    $width ,
    $font,
    $dot,
    $bg,
    $line,
    $text,
    $dotcolor,
    $file)
    {
    $jc=$height/100;
    $fontwidth= imagefontwidth ($font);
    $fontheight=imagefontheight($font);

    $image= imagecreate ($width,$height+20);
    $bg= imagecolorallocate($image ,$bg[0],$bg[1],$bg[2]);
    $line=imagecolorallocate($image ,$line[0],$line[1],$line[2]);
    $text=imagecolorallocate($image ,$text[0],$text[1],$text[2]);
    $dotcolor=imagecolorallocate($image ,$dotcolor[0],$dotcolor[1],$$dotcolor[2]);
    imageline ($image,0,0,0,$height,$line);
    imageline($image,0,$height,$width,$height,$line);
    for ($i=1;$i<11;$i++)
    {
    imagedashedline($image,0,$height - $jc*$i*10 ,$width ,$height -$jc*$i*10 ,$line );
    imagestring ($image,$font,0,$height-$jc*$i*10,$i*10,$text);
    }
    for ($i=0;$i {
    #echo $tmp."
    ";
    $x1=(($width-50)/count($data))*($i)+40;
    #echo $x1 ."
    ";
    $y1=$height-$graphdata[$i]*$jc;
    $x2=$x1;
    $y2=$y1+$graphdata[$i]*$jc;
    #echo $y1."
    ";
    imagestring($image,$font,$x1,$y1-2*$fontheight,$graphdata[$i]."%(".$data[$i].")",$text);
    imagearc ($image,$x1 ,$y1,$dot,$dot,0,360,$dotcolor);
    imagefilltoborder ($image,$x1,$y1,$dotcolor,$dotcolor);
    imagestring ($image,$font,$x1,$y2,$label[$i],$text);
    if ($i>0)
    {
    imageline($image,$tmpx1,$tmpy1,$x1,$y1,$line);
    }
    $tmpx1=$x1;$tmpy1=$y1;
    }
    imagegif ($image,$file);
    }
    ?>


    【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多