グラフ(横棒グラフ)
#! /usr/local/bin/perl $title = '月別売上'; #グラフタイトル @data = ( #グラフ作成用データ ['1月', 2103000], ['2月', 2336000], ['3月', 2210000], ['4月', 1901000], ['5月', 2888000], ['6月', 2360000], ['7月', 2950000], ['8月', 2145000], ['9月', 2258000], ['10月', 3101000], ['11月', 1900000], ['12月', 3095000] ); print qq(Content-type: text/html; charset=Shift_JIS\n\n); print <<END; #HTML出力 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>グラフ(横棒グラフ)</title> </head> <body> <table width="95%" align="center" border="1" rules="none" bordercolor="#000099" cellpadding="3"> <caption>$title</caption> END for($i = 0 ; $i < @data ; $i++) { if(length($data[$i][0]) > $maxlen) { #文字数最大 $maxlen = length($data[$i][0]); } if($data[$i][1] > $max) { #データ最大 $max = $data[$i][1]; } } for($i = 0 ; $i < @data ; $i++) { #グラフ作成 print qq(<tr>); printf qq(<td width="%d" align="right">$data[$i][0]</td>), $maxlen * 10; printf qq(<td><hr size="20" color="#6666ff" align="left" width="%d%"></td>), $data[$i][1] / $max * 100; printf qq(<td width="%d">\\$data[$i][1]</td>), length($max) * 10; print qq(</tr>\n); } print <<END; </table> </body> </html> END exit;
〔 実行する 〕