转载自:hi.baidu.com/qx105b/blog/item/84088ac4ca9 histogram.js: var force_color = new Array(); var bg_color = new Array(); force_color[0]="#d1ffd1"; force_color[1]="#ffbbbb"; force_color[2]="#ffe3bb"; force_color[3]="#cff4f3"; force_color[4]="#d9d9e5"; force_color[5]="#ffc7ab"; force_color[6]="#ecffb7"; bg_color[0]="#00ff00"; bg_color[1]="#ff0000"; bg_color[2]="#ff9900"; bg_color[3]="#33cccc"; bg_color[4]="#666699"; bg_color[5]="#993300"; bg_color[6]="#99cc00"; line_color="#69f"; var left_width=30; var bottom_height=20; function histogram(ar,space,width,height){ //柱阴影厚度 var thickness = space/2; if (thickness<1) thickness =0; thickness = space; //数据长度 var length = ar.length; var iMax=0,iWidth=0,iHeight=0,tMax=0;//数据最大值 var i,j,obj,tmp; var index=-1; //验证 if (length==0) return; for(i=0;i<length;i++){ obj = ar[i].split("|"); for(j=0;j<obj.length;j++){ tmp = parseInt(obj[j]); if(tmp>iMax) iMax =tmp; } } tmp = iMax+''; j = tmp.length; if(iMax>9){ i= parseInt((iMax %100)/10); if(i>4) tMax =(parseInt(iMax/Math.pow(10,(j-1)))+1)*Math.pow(10,j-1); else tMax =(parseInt(iMax/Math.pow(10,(j-1)))+0.5)*Math.pow(10,j-1); }else{ if(iMax>4) tMax = 10; else tMax= 5; } document.write('<table width="'+width+'" height="'+height+'" border="0" cellpadding="0" cellspacing="0"><tr>'); document.write('<td width="'+left_width+'" align="right" valign="bottom" height="'+(height-bottom_height)+'"><v:line style="position:absolute;left:0px;top:0px;right:0px;" alt="" to="'+left_width+'px,-'+(height-bottom_height)+'px" from="'+left_width+'px,0px"/>'); //画分隔线 iMax = 5; tmp = ((height-bottom_height)/iMax); i=1; if(tmp>40){ iMax=10; tmp = ((height-bottom_height)/iMax); } while(tmp>40){ iMax=10*(i++); tmp = ((height-bottom_height)/iMax); } if(i>1) { iMax-=10; tmp = ((height-bottom_height)/iMax); } document.write("<table width='100%' border='0' cellpadding='0' cellspacing='0' >"); for(i=iMax;i>=1;i--){ document.write("<tr><td height='"+tmp+"' align='center' style='border-top:1px solid #000000;' valign='top'>"+(tMax/iMax*i)+"</td></tr>"); } document.write("</table><v:line to='0px,-"+(height-bottom_height)+"px'/> "); document.write('</td><td height="'+(height-bottom_height)+'" valign="bottom">'); document.write("<v:line strokecolor='"+line_color+"' to='15px,"+(tmp*(iMax)-15)+"px' from='15px,0px' />"); for(i=0;i<iMax;i++){ document.write("<v:line strokecolor='"+line_color+"' from='0px,"+(tmp*(i+1))+"' to='15px,"+(tmp*(i+1)-15)+"px' />"); document.write("<v:line strokecolor='"+line_color+"' to='15px,"+(tmp*(i+1)-15)+"' from='"+(width-left_width)+"px,"+(tmp*(i+1)-15)+"' />"); } document.write('<v:rect alt="" style="position:absolute;width:'+(width-left_width)+';height:'+(height-bottom_height)+';z-index:-9" fillcolor="#9cf" stroked="f"><v:fill rotate="t" angle="-45" focus="100%" type="gradient"/></v:rect>'); document.write('<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="'+left_width/2+'"></td>'); //柱状图 tmp = (width-2*left_width)/length; index = (height-bottom_height)/tMax; for(i=0;i<length;i++){ obj = ar[i].split("|"); document.write("<td valign='bottom' width='"+tmp+"' align='center' height='"+(height-bottom_height)+"'>"); document.write('<v:group ID="group1" style="position:relative;WIDTH:'+tmp+'px;HEIGHT:'+(height-bottom_height)+'px;" coordsize = "'+tmp*10+','+(height-bottom_height)*10+'">'); document.write("<v:textbox style='position:absolute;left:0;top:-15;' inset='0px,0px,0px,0px' ><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='center'>"+formatNumber(obj[1],2)+"</td></tr></table></v:textbox>"); document.write('<v:rect style="position:relative;width:'+(tmp-space/2-15)*10+';height:'+index*parseInt(obj[1])*10+';" fillcolor="'+bg_color[i%bg_color.length]+'">'); //if(index*parseInt(obj[1])>10) document.write("<v:fill style='position:relative;' color2='"+force_color[i%force_color.length]+"' rotate='t' type='gradient'/>"); document.write("<o:extrusion v:ext='view' style='position:relative;' backdepth='"+thickness+"px' color='"+bg_color[i%bg_color.length]+"' on='t'/>"); document.write('</v:rect>'); document.write('</v:group>'); document.write("</td>"); } document.write('</tr></table>'); //document.write('</v:rect>'); document.write('</td></tr><tr><td height="'+bottom_height+'"></td>'); document.write('<td valign="bottom" height="'+bottom_height+'" width="'+(width-left_width)+'" style="border-top:1px solid #000000" >'); document.write('<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="'+left_width/2+'"></td>'); for(i=0;i<length;i++){ obj = ar[i].split("|"); document.write("<td width='"+tmp+"' align='center'>"+obj[0]+"</td>"); } document.write('</td></tr></table>'); document.write('</td></tr></table>'); } function formatNumber(obj,length){ if(isNaN(obj)) return obj; var tmp=obj+''; var index = tmp.indexOf("."); if(index!=-1){ return obj.substring(0,index+3); } else return obj; } demo.html: <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"> <!--[if !mso]> <style> v\:* { behavior: url(#default#VML) } o\:* { behavior: url(#default#VML) } .shape { behavior: url(#default#VML) } </style> <![endif]--> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>发帖量统计</title> <style> body{ font-size:12px; } td{ font-size:12px; } </style> </head> <script src="histogram.js"></script> <body> <table width="500" border="0" cellspacing="0" cellpadding="0" align="center"> <tr><td height="30" align="center" style="font-size:16px;font-weight:bold;color:#fc3a00;">发帖量统计</td></tr> <tr> <td ><script language="javascript"> var ar,space,width=500,height=400; ar = new Array(); ar[0]="攒机买机|245"; ar[1]="硬件讨论|120"; ar[2]="笔记本专区|852"; ar[3]="数码产品|424"; ar[4]="操作系统|412"; ar[5]="软件下载|751"; ar[6]="影视下载|123"; space=20; histogram(ar,space,width,height); </script></td> </tr> </table> </body> </html>
相关推荐
JavaScript图表库,如"js chart js柱状图",是一种用于在网页上创建交互式图形的工具,尤其适合展示数据。这些库通过JavaScript语言与HTML5的Canvas或SVG元素结合,能够动态地生成各种类型的图表,包括柱状图。柱状...
JavaScript柱状图是一种常见的数据可视化方法,用于呈现各种统计数据,如销售报告、比较不同类别数据等。在这种图表中,每个柱子的高度代表一个特定值,使得用户能够快速地理解和比较不同分类之间的数值差异。YAHoo...
"CSS+JS柱状图"是一种利用纯CSS和JavaScript实现的柱状图表,它可以帮助开发者创建动态且自定义程度高的图表,无需依赖第三方库如Highcharts或Chart.js。这种技术的优点在于其轻量级、灵活且可以完全控制图表的样式...
js柱状图的实现 您自己可能 通过修改里面的cs样式来 让表现出来的效果更美观
d3.js柱状图gif图片
【jqbar.js柱状图动态百分比进度条特效】是一种使用JavaScript库jqbar.js创建的交互式图表展示技术,主要用于动态地表示数据的百分比进度。这种特效在各种数据分析、项目管理或者用户界面设计中非常常见,因为它可以...
JavaScript柱状图是一种常见用于数据可视化的技术,它利用HTML5 Canvas或SVG元素,结合JavaScript库来绘制各种形式的柱状图表。柱状图是展示分类数据有效的方式,每个柱子的高度代表一个分类的值,使得数据比较直观...
js 柱状图 统计 ,运用的是js技术中excel控件生成的一个图形控件
使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js...
"js柱状图统计demo"是一个实例,它展示了如何利用JavaScript来创建柱状图,一种常见的数据可视化工具。在这个项目中,开发者提供了一个可以直接运行的HTML页面,通过引入特定的JS库,可以快速实现柱状图的绘制。 ...
在这个"Three.js 三维坐标柱状图"项目中,我们将探讨如何利用Three.js 创建一个具有三维坐标轴的柱状图,并涉及坐标矢量的使用。 首先,让我们了解Three.js中的基本概念。在Three.js中,一切皆为对象,包括场景...
JavaScript画图类库提供了一种方便的方式来创建各种图表,包括折线图、饼状图和柱状图。这些图表可以帮助我们更好地理解数据,并将复杂的信息以直观的方式呈现出来。 1. **JavaScript 画图类库** JavaScript 画图...
### JavaScript柱状图生成原理与实现 在网页开发中,数据可视化是不可或缺的一部分,而柱状图作为数据展示的一种常见形式,被广泛应用于各种场景。本文将深入解析如何使用JavaScript生成柱状图,并通过给定文件的...
在JavaScript中,我们可以使用各种库来创建柱状图,例如ECharts、Highcharts、D3.js等。以ECharts为例,创建柱状图的基本步骤包括: 1. 引入ECharts库:在HTML文件中添加ECharts的CDN链接或者下载到本地并引入。 2. ...
JS柱状图、饼状图、线状图等图表常用于展示复杂的数据,帮助用户直观理解信息。本资源包含了一个JS库,专用于创建这些图形,让我们来详细探讨一下相关知识点。 首先,**柱状图(Bar Chart)**是一种常用的数据可视...
在JavaScript中,我们可以使用诸如ECharts、Highcharts、D3.js等库来创建柱状图。例如,ECharts提供了丰富的配置选项,可以自定义颜色、标签、图例以及数据的动态更新,使柱状图更加交互和生动。 **饼图**(Pie ...
本文将围绕“多个JS+Json柱状图饼图折线图示例”这一主题,深入探讨使用JavaScript和JSON进行数据可视化的相关技术。 首先,JavaScript(JS)是一种广泛使用的脚本语言,常用于网页动态效果和前端交互。在数据可视...
首先,我们来了解一下JavaScript(JS)在柱状图中的作用。JavaScript是浏览器端的脚本语言,用于处理动态交互。在这个组件中,JS负责数据处理和图形渲染。开发者可能需要编写函数来计算每个柱子的高度,这通常基于...
java-echart.js柱状图、饼状图、折线图 /** * 柱状图 * @param classRoom * @param req * @param resp * @param model * @return */ @RequestMapping(value = "/zhuzhuangtu") public String ...
根据提供的信息,我们可以总结出以下有关使用VML(Vector Markup Language)在JavaScript中实现柱状图的相关知识点: ### VML简介 VML是微软为IE浏览器推出的一种矢量图形标记语言,用于绘制二维图形和图像。它...