对于统计的的结果很多时候会采用一些图表进行显示,这样一方面给人的视觉上有很直观的表现,另一方面比起数字来说有很强的对比性及友好性,其中柱状图是常用到的一种图表。
在页面客户端展现柱状图目前多采用图片,其实现方式包括直接由服务器的脚本生成、一些类库、Flash等,对于简单的柱状图其实也可以使用CSS结合Javascript来完成.
1、最终效果
2、页面代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Histogram</title>
<style type="text/css">
#Histogram{
width:300px;
height:150px;
position:relative;
border-left:1px solid #000;
border-bottom:1px solid #000;
}
#Histogram ul {
width:300px;
height:150px;
margin:0;
padding:0;
}
#Histogram ul li {
position:absolute;
width:12px;
height:120px;
bottom:0px;
padding:0 !important;
margin:0 !important;
text-align:center;
font-weight:bold;
color:#fff;
line-height:2.5em;
}
</style>
<script language="javascript" type="text/javascript">
function getRandomColor() {
var str = "0123456789abcdef";
var sColor = "#";
for(var i=0;i<6;i++) {
sColor = sColor + str.charAt(Math.random()*str.length);
}
return sColor;
}
function setResults() {
var oRes = document.getElementById("Histogram");
var tmpString = "";
tmpString += "<ul>";
for (var i=0; i<10; i++) {
tmpString+="<li style=\"left:"+(30+(20*i))+"px;background:"+getRandomColor()+";height:"+Math.random()*120+"px;\">"+i+"</li>";
}
tmpString+="</ul>";
oRes.innerHTML = tmpString;
oRes.style.display="block";
}
</script>
</head>
<body onload="setResults();">
<div id="Histogram"></div>
</body>
</html>
