📄 chart.inc
字号:
chart.inc:
<?php
function draw_chart($chartcolum, $chartdata, $scale, $max_scale)
{
//输出层叠样式表
echo("<style type=\"text/css\">\n");
echo("//<!--\n");
echo(".legendtext { font-family: Arial, Helvetica, sans-serif; font-size: 8pt; color: #FFFFFF}\n");
echo(".datatext { font-family: Arial, Helvetica, sans-serif; font-size: 8pt; color: #000000}\n");
echo("//-->\n");
echo("</style>\n");
//计算行数
$rowcount = count ($chartdata);
$max_value = 0;
//统计每列的基本数字:id, name, value
for ($a = 1; $a <= $rowcount; $a++)
{
$stat_id[$a] = $a;
$stat_name[$a] = $chartcolum[$a];
$stat_value[$a] = $chartdata[$a];
if ($stat_value[$a] > $max_value) {$max_value = $stat_value[$a];}
$stat_total = $stat_total + $stat_value[$a]; //计算总数
}
//输出总和
echo ("<BR><CENTER><A CLASS=\"datatext\">Total: " . $stat_total . "</A></CENTER>");
//计算平均值
$stat_average = round ($stat_total / $rowcount);
//??????????????????????????????
$scale_average = round ($stat_average/($max_value/$scale));
for ($a = 1; $a <= $rowcount; $a++)
{
//计算每列的颜色值
//dechex()把十进制数字转化为十六进制数字
$stat_scale[$a] = round ($stat_value[$a]/($max_value/$scale));
$color[$a] = dechex(round($stat_id[$a]*220/$rowcount));
$color[$a] .= dechex(round($stat_id[$a]*190/$rowcount));
$color[$a] .= dechex(round($stat_id[$a]*210/$rowcount));
}
for ($a = 1; $a <= $rowcount; $a++)
{
for ($b = 1; $b <= $max_scale; $b++)
{
if ($b <= $scale_average) {$average_colored[$b] = 1;}
else {$average_colored[$b] = 0;}
if ($b <= $stat_scale[$a]) {$stat_colored[$a][$b] = 1;}
else {$stat_colored[$a][$b] = 0;}
}
}
$low_width = round(25/($rowcount+3));
$high_width = round(75/$rowcount);
echo ("\n<BR><CENTER><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=90%>\n");
for ($b = ($max_scale + 1); $b >= 0; $b--)
{
if ($b != 0)
{
echo ("<TR><TD BGCOLOR=#0000DD ALIGN=right WIDTH=" . $low_width . "%><A CLASS=\"legendtext\">" . round(($b - 1) * ($max_value/$scale)) . "_</A></TD>\n");
if ($average_colored[$b] == 1) {echo ("<TD BGCOLOR=#DDDDDD WIDTH=" . $low_width . "%> </TD>\n");}
else {echo ("<TD BGCOLOR=#FFFFFF WIDTH=" . $low_width . "%> </TD>\n");}
}
else
{
echo ("<TR><TD BGCOLOR=#0000DD ALIGN=right WIDTH=" . $low_width . "%> </TD>\n");
echo ("<TD BGCOLOR=#0000DD WIDTH=" . $low_width . "%> </TD>\n");
}
for ($a = 1; $a <= $rowcount; $a++)
{
if ($b == 0)
{
echo ("<TD BGCOLOR=#0000DD ALIGN=center WIDTH=" . $high_width . "%><A CLASS=\"legendtext\">" . $stat_name[$a] . "</A></TD><TD BGCOLOR=#0000DD WIDTH=" . $low_width . "%> </TD>\n");
}
else
{
if ($b == ($stat_scale[$a] + 1))
{
if ($average_colored[$b] == 1) {echo ("<TD BGCOLOR=#DDDDDD ALIGN=center WIDTH=" . $high_width . "%><A CLASS=\"datatext\">" . $stat_value[$a] . "</A></TD><TD BGCOLOR=#DDDDDD WIDTH=" . $low_width . "%> </TD>\n");}
else {echo ("<TD BGCOLOR=#FFFFFF ALIGN=center WIDTH=" . $high_width . "%><A CLASS=\"datatext\">" . $stat_value[$a] . "</A></TD><TD BGCOLOR=#FFFFFF WIDTH=" . $low_width . "%> </TD>\n");}
}
else
{
if ($stat_colored[$a][$b] == 1)
{
if ($average_colored[$b] == 1) {echo ("<TD BGCOLOR=#" . $color[$a] . " WIDTH=" . $high_width . "%> </TD><TD BGCOLOR=#DDDDDD WIDTH=" . $low_width . "%> </TD>\n");}
else {echo ("<TD BGCOLOR=#" . $color[$a] . " WIDTH=" . $high_width . "%> </TD><TD BGCOLOR=#FFFFFF WIDTH=" . $low_width . "%> </TD>\n");}
}
else
{
if ($average_colored[$b] == 1) {echo ("<TD BGCOLOR=#DDDDDD WIDTH=" . $high_width . "%> </TD><TD BGCOLOR=#DDDDDD WIDTH=" . $low_width . "%> </TD>\n");}
else {echo ("<TD BGCOLOR=#FFFFFF WIDTH=" . $high_width . "%> </TD><TD BGCOLOR=#FFFFFF WIDTH=" . $low_width . "%> </TD>\n");}
}
}
}
}
if ($b == ($scale_average + 1))
{
echo ("<TD BGCOLOR=#0000DD ALIGN=left WIDTH=" . $low_width . "%><A CLASS=\"legendtext\">_" . $stat_average . "</A></TD><TD BGCOLOR=#0000DD WIDTH=" . $low_width . "%> </TD>\n");
}
else
{
echo ("<TD BGCOLOR=#0000DD ALIGN=right WIDTH=" . $low_width . "%> </TD>\n");
echo ("<TD BGCOLOR=#0000DD WIDTH=" . $low_width . "%> </TD>\n");
}
echo ("</TR>\n");
}
echo ("</TABLE></CENTER>\n");
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -