웹마스터 팁

그래프 만드는 소스가 필요해서 여기 게시판을 뒤졌더니 zzony 님 소스가 나오더군요.
그 소스를 함수화 해서 쉽게 쓸수 있도록 고쳤습니다.
아래 소스는 폼 데이터를 전송 받아 그래프를 생성하지만
폼 데이터 대신 소스에서 생성된 데이터로 그래프를 만드는것이
직접 사용하는 방식이 될겁니다.

zzony 님 원래 글 : http://www.nzeo.com/bbs/zboard.php?id=p_study&desc=asc&no=293
소스 테스트 : http://allzza.net/my.php

수정한대로 그래프가 고쳐지지 않으면 새로고침해서 보세요


<?

$e = "./tt/test.png";

if($a)   {
    $aa = explode(",",$a);
    if($d) $dd = explode(",",$d);
    
    bar_graph($aa,$b,$c,$dd,$e);
    echo "<img src="$e">";
    }


function bar_graph($val,$x,$y,$x_val,$img_url)   { //-- 막대 그래프 만들어주는 함수
     /*
     $val : 값을 원소로 하는 배열
     $x : 그래프 가로축 크기
     $y : 그래프 세로축 크기
     $x_val : x축 값의 이름 배열
     $img_url : 저장할 파일의 경로와 이름(png)
     */
    
     $gaesu = count($val);   //-- 그래프 막대 갯수
     $makde_pok = ($x / $gaesu) / 3;   //-- 막대 하나 폭
     $real_y = $y - 40;    //-- 그래프가 그려질 실제 위치
    
     $max_value = $val[0];
     for ($i=0;$i<$gaesu;$i++)     {
         if($val[$i] > $max_value)   $max_value = $val[$i];
         }

     $im =  @ImageCreate($x,$y) or die ("이미지를 초기화 하지 못했습니다");

     $backgroundcolor=ImageColorAllocate($im,234,253,231);  //-- 그랩 바탕색
     $rectanglecolor = ImageColorAllocate($im,65,127,250); //-- 그랩 색깔
     $white=ImageColorAllocate($im,255,255,240);            //-- 그랩 바닥색

     ImageFilledRectAngle($im,0,$real_y,$x,$y,$white);    
     for ($i=0;$i<$gaesu;$i++)   {
           ($i == 0) ? $makde_x[$i] = $makde_pok: $makde_x[$i] = ($makde_x[$i - 1] + $makde_pok * 3);
           $makde_y[$i] = $real_y - ($val[$i]/$max_value) * $real_y; //-- 각각의 막대 y 좌표

           ImageFilledRectAngle($im,$makde_x[$i],$makde_y[$i],$makde_x[$i]+$makde_pok,$real_y,$rectanglecolor);          
           ($makde_y[$i] - 15 < 0) ? $y_string = 0 : $y_string = $makde_y[$i] - 15;
           Imagestring($im,5,$makde_x[$i],$y_string,$val[$i],imagecolorallocate($im,42,31,21));
           Imagestring($im,3,$makde_x[$i],$y-30,$x_val[$i],imagecolorallocate($im,42,31,21));
           }
     ImagePNG($im,$img_url);
     ImageDestroy($im);
    
     }
?>


<form name=my method=post action="<?=$PHP_SELF;?>">
값 : <input type=text size=50 name=a value="<?=$a;?>"><br>
가로 : <input type=text size=5 name=b value="<?=$b;?>"><br>
세로 : <input tpye=text size=5 name=c value="<?=$c;?>"><br>
값이름 : <input type=text size=50 name=d value="<?=$d;?>"><br>
파일 이름 : <input type=text readonly size=30 value="<?=$e;?>" name=e><br>
<input type=button value="구래푸 맹글기" onclick='this.form.submit()'>
</form>


값 : 각 그래프가 가르키는 값입니다. 콤마로 구분하고 맨뒤엔 콤마를 찍지 마세요.
     물론 각각의 값은 숫자....여야겠죠.
가로 : 그래프 가로 크기입니다.픽셀 단위.
세로 : 그래프 세로 크기. 픽셀 단위
값이름 : 그래프 밑에 각각의 막대를 값으로 가지는 이름. 역시 콤마로 구분하고 맨뒤엔 콤마 찍지 마세요.
         한글 들어가니까 글자가 깨지네요.
파일이름 : 폴더와 파일 이름을 적어주는데 폴더는 nobody 에게 쓰기 권한이 있어야 합니다.
           (이해하기 힘들면 그냥 퍼미션 **7 로 끝자린 7로 맞추심 됩니다.)
           나도 인터넷 셋방 사는 처지라서 파일 이름은 바꾸지 못하게 고정 시켜놨습니다.
           이런저런 그림파일이 계정에 생성 되면.... 내 방 좁아질까봐서리...
          
그래프의 막대 갯수는 값을 기준으로 생성 됩니다. 값이름이 갯수에 모자라면 null 로 채워지고
값이름이 갯수에서 남으면 남은 부분은 써지지 않습니다.
제목 글쓴이 날짜
서면오피 서면오피 ⦑오피사이트.NET⦒ 서면OP 서면스파 서면오피 koykoyah 2025.02.21
남양주오피 ⦑출장안마사이트.COM⦒ 남양주마사지 남양주오피 남양주오피 남양주OP koykoyah 2025.02.21
홍대오피 ⦑오피쓰.COM⦒ 홍대오피 홍대출장마사지 홍대오피 홍대OP koykoyah 2025.02.21
부산오피 부산출장안마 ⦑오피사이트.NET⦒ 부산OP 부산오피 부산오피 koykoyah 2025.02.21
천안오피 ⦑출장마사지안내.COM⦒ 천안OP 천안오피 천안출장샵 천안오피 koykoyah 2025.02.21
홍대오피 홍대출장안마 ⦑오피.CLUB⦒ 홍대OP 홍대오피 홍대오피 koykoyah 2025.02.21
부평오피 부평출장안마 ⦑출장마사지안내.COM⦒ 부평OP 부평오피 부평오피 koykoyah 2025.02.21
산본오피 ⦑오피쓰.COM⦒ 산본OP 산본오피 산본출장샵 산본오피 koykoyah 2025.02.21
동대문오피 ⦑오피쓰.COM⦒ 동대문오피 동대문출장마사지 동대문오피 동대문OP koykoyah 2025.02.21
울산오피 울산오피 ⦑출장마사지안내.COM⦒ 울산OP 울산스파 울산오피 koykoyah 2025.02.21
서면오피 ⦑오피사이트.NET⦒ 서면OP 서면오피 서면출장샵 서면오피 koykoyah 2025.02.21
일산오피 일산오피 ⦑출장안마사이트.COM⦒ 일산OP 일산스파 일산오피 koykoyah 2025.02.21
천안오피 천안오피 ⦑오피쓰주소.COM⦒ 천안OP 천안스파 천안오피 koykoyah 2025.02.21
광주오피 광주OP ⦑오피.CLUB⦒ 광주휴게텔 광주오피 광주오피 koykoyah 2025.02.21
인천오피 인천오피 ⦑출장안마사이트.COM⦒ 인천OP 인천스파 인천오피 koykoyah 2025.02.21
부평오피 부평오피 ⦑출장마사지안내.COM⦒ 부평OP 부평스파 부평오피 koykoyah 2025.02.21
압구정오피 ⦑오피사이트.NET⦒ 압구정마사지 압구정오피 압구정오피 압구정OP koykoyah 2025.02.21
대전오피 대전출장안마 ⦑출장마사지안내.COM⦒ 대전OP 대전오피 대전오피 koykoyah 2025.02.21
광주오피 광주출장안마 ⦑오피쓰.COM⦒ 광주OP 광주오피 광주오피 koykoyah 2025.02.21
부평오피 ⦑출장안마사이트.COM⦒ 부평오피 부평출장마사지 부평오피 부평OP koykoyah 2025.02.21