js 画柱状图问题?

问题描述

我做的是这样的功能,就是先是一个柱形图展示出来,比如柱形图是灰的.然后用数据来填充这个柱形图,柱形图上有个标记.当填充的长度超过这个标记时,数据变色.这种用js怎么实现?最好能有例子,js不太熟.

解决方案

解决方案二:
你好,你想需要了解vml浏览器支持的画图功能.我以前用javascrpt+vml实现过饼图http://www.blogjava.net/luchunwei/archive/2009/03/12/64364.html你看看就是你要的了
解决方案三:
如果是2d不需要vml,不过如果是3d的柱状图像就需要vml或者图形背景来实现了
解决方案四:
动态修改DIV的长宽即可.
解决方案五:
我的做成2d的就行,应该用不到vml.有没有具体的例子,对js实在不熟.
解决方案六:
你是或的这个功能有点难度,可以动态修改DIV或者使用vml,SVG之类的
解决方案七:
在网上查了一下用jquery+ajax实现应该不错,但具体的不熟.哎!
解决方案八:
YuiExtjsRgraph都有柱状图,不需要自己实现。
解决方案九:
<html><head><title>JavaScript绘图</title><scriptlanguage="JavaScript">IE4=!(navigator.appVersion.charAt(0)<"4"||navigator.appName=="Netscape")varxo=0varyo=0varOx=-1varOy=-1varrad=Math.PI/180varmaxY=400varcolor="red"functionprint(str){document.write(str)}functionorgY(y){returnmaxY-y}functionoutPlot(x,y,w,h){print('<spanstyle="position:absolute;left:'+x+';top:'+y+';height:'+h+';width:'+w+';font-size:1px;background-color:'+color+'"></span>')}functionPlot(x,y){outPlot(x,y,1,1)if(Ox>=0||Oy>=0){ShowLine(Ox,Oy,x-Ox,y-Oy)}Ox=xOy=y}functionShowLine(x,y,w,h){if(w<0){x+=ww=Math.abs(w)}if(h<0){y+=hh=Math.abs(h)}if(w<1)w=1if(h<1)h=1outPlot(x,y,Math.round(w),Math.round(h))}functionLineTo(x,y){Line(xo,yo,x,y)}functionsign(n){if(n>0)return1if(n<0)return-1returnn}functionLine(x1,y1,x2,y2){x2=Math.round(x2)y2=Math.round(y2)xo=x2yo=y2y1=orgY(y1)y2=orgY(y2)varstr=""vari=0varx=x1vary=y1dx=Math.abs(x2-x1)dy=Math.abs(y2-y1)s1=sign(x2-x1)s2=sign(y2-y1)if(dx==0||dy==0){ShowLine(x1,y1,x2-x1,y2-y1)return}if(dx>dy){temp=dxdx=dydy=tempkey=1}elsekey=0e=2*dy-dxfor(i=0;i<dx;i++){px=0py=0Plot(x,y)while(e>=0){if(key==1){x+=s1px+=s1}else{y+=s2py+=s2}e=e-2*dx}if(key==1)y+=s2elsex+=s1e=e+2*dy}}functionMoveTo(x,y){Ox=Oy=-1xo=Math.round(x)yo=Math.round(y)}//圆functionCir(x,y,r){MoveTo(x+r,y)for(i=0;i<=360;i+=5){LineTo(r*Math.cos(i*rad)+x,r*Math.sin(i*rad)+y)}}//弧形functionArc(x,y,r,a1,a2){MoveTo(r*Math.cos(a1*rad)+x,r*Math.sin(a1*rad)+y)for(i=a1;i<=a2;i++){LineTo(r*Math.cos(i*rad)+x,r*Math.sin(i*rad)+y)}}//扇形functionPei(x,y,r,a1,a2){MoveTo(x,y)for(vari=a1;i<=a2;i++){LineTo(r*Math.cos(i*rad)+x,r*Math.sin(i*rad)+y)}LineTo(x,y)}//弹出扇形functionPopPei(x,y,r,a1,a2){dx=r*Math.cos((a1+(a2-a1)/2)*rad)/10dy=r*Math.sin((a1+(a2-a1)/2)*rad)/10x+=dxy+=dyMoveTo(x,y)for(vari=a1;i<=a2;i++){LineTo(r*Math.cos(i*rad)+x,r*Math.sin(i*rad)+y)}LineTo(x,y)}//矩形functionRect(x,y,w,h){MoveTo(x,y)LineTo(x+w,y)LineTo(x+w,y+h)LineTo(x,y+h)LineTo(x,y)}//准星functionzhunxing(x,y){varox=xovaroy=yovaroColor=colorcolor="#000000"Line(x-5,y,x+6,y)Line(x,y-6,x,y+5)print('<spanstyle="position:absolute;font-size:10pt;left:'+(x+5)+';top:'+orgY(y+5)+';">['+x+','+y+']</span>')color=oColorxo=oxyo=oy}//标注functionbiaozhuStr(x,y,s){return'<spanstyle="position:absolute;font-size:10pt;left:'+x+';top:'+orgY(y)+';">'+s+'</span>'}functionbiaozhu(x,y,s,t){varox=xovaroy=yovaroColor=colorpoint="p01.gif"if(t==1){print(biaozhuStr(x-5,y+6,"·"+s))}if(t==2){print(biaozhuStr(xo+x*Math.cos(y*rad)-10,yo+x*Math.sin(y*rad),s))}color=oColorxo=oxyo=oy}</script></head><body><tableborder="0"width="100%"><tr><tdwidth="100%"style="font-family:方正舒体;font-size:18pt;color:#FF0000"class="t1">JavaScript绘图</td></tr><tr><tdwidth="100%"style="font-family:幼圆;font-size:12pt;color:#008000"class="t2">如果需要在网页上提供图形化的资料,通常是将其制作成图片,但这样一来网络上的开销就太大了。有什么办法呢?这里向你提供一组JavaScript函数,来解决这一问题。虽然简单了点,但是对画点线图来说还是绰绰有余的!</td></tr></table><script>if(IE4){//基本图形color="maroon"Cir(50,40,20)Arc(100,40,20,60,120)Pei(150,60,40,240,300)Rect(200,20,40,40)Line(0,0,20,20)//折线图color="#FF0000"varjd=newArray(203,232,277,223,271,234,273,284,276,250,267,280)MoveTo(30,jd[0]-40)biaozhu(xo,yo,jd[0])for(i=1;i<jd.length;i++){LineTo(i*30+30,jd[i]-40)biaozhu(xo,yo,jd[i],1)}color="#C0C0C0"Line(30,140,i*30+30,140)Line(30,140,30,260)//饼图color="#00FF00"vargc=newArray(150,120,200,180,180)vars=0varm=0varn=0for(i=0;i<gc.length;i++){s+=gc[i]if(gc[i]>m){m=gc[i]n=i}}vark=s/360varmm=0vara=0for(i=0;i<gc.length;i++){b=Math.round((gc[i]+mm)/k)if(i==n)PopPei(600,150,100,a,b)elsePei(600,150,100,a,b)biaozhu(60,a+(b-a)/2,Math.round(gc[i]/s*100)+"%",2)mm=mm+gc[i]a=b}//十字标注MoveTo(280,20)zhunxing(xo,yo)}else{document.write("<p></p><tablebgcolor=#FF0000><tr><td><fontcolor=#FFFF00>对不起!您的浏览器不能支持该页的某些功能,请换用IE4.0以上版本的浏览器!谢谢!</font></td></tr></table>")}</script></body></html>

时间: 2024-10-14 22:20:33

js 画柱状图问题?的相关文章

前端-百度echarts画折线图显示不出来,画柱状图则正常

问题描述 百度echarts画折线图显示不出来,画柱状图则正常 代码如下: <div id=""main"" style=""height:400px""></div> <script src=""http://echarts.baidu.com/build/dist/echarts.js""></script> <script ty

D3.js实现柱状图的方法详解_javascript技巧

D3.js介绍 D3.js 是一个基于数据操作文档JavaScript库.D3帮助你给数据带来活力通过使用HTML.SVG和CSS.D3重视Web标准为你提供现代浏览器的全部功能,而不是给你一个专有的框架.结合强大的可视化组件和数据驱动方式Dom操作.这里也可以看到它是用SVG来呈现图表的,所以使用D3.js是需要一定的SVG基础的. 如何用D3.js实现柱状图? 柱状图里面有坐标轴和柱子.然而我们还需要SVG画布来画这些东西.先把大概的画图框架搭起来,代码如下(请注意此时我在body标签里添加

open_flash_chart 通过js画饼图问题

问题描述 open_flash_chart 通过js画饼图问题 我最近要做报表 发现open_flash_chart 挺好用,但是画饼图的时候发现饼图周围显示不了信息 js代码: var so = new SWFObject("../actionscript/open-flash-chart.swf", "ofc", "500", "200", "9", "#FFFFFF"); //so

js画表格问题有哪位大哥好心,帮我详细解释一下下面这段代码,主要是位重数据库表里取数据然后用下面这段代码一一的画出表格显示到页面

问题描述 js画表格问题有哪位大哥好心,帮我详细解释一下下面这段代码,主要是位重数据库表里取数据然后用下面这段代码一一的画出表格显示到页面functionreload(){for(vara=0;a<bms.length;a++)for(varb=0;b<shsizes.length;b++){getBookmakerOdds(bms[a],shsizes[b]);}}functiondraw(){varsb=[];for(varkinsds.versus){if(!leagueData[sds

C# chart控件画柱状图的问题

问题描述 C#chart控件画柱状图的问题,小白问一下怎样改变柱状图各个柱之间的间隔,求大神帮忙 解决方案 解决方案二:http://www.cnblogs.com/eye-like/archive/2013/01/10/2854744.html里面的Interval:轴刻度间隔大小

用owc11控件在winform上画柱状图,怎么在同一个柱上显示不同的叠加(给出我所有的分100)

问题描述 我用owc11控件在winform上画柱状图,但是我不知道怎么在同一个柱上显示不同的叠加,意思是我需要不同的数值,显示在同一柱子上但是用不同的颜色区分.例如,a=10,b=20.我希望有一根柱子显示这两个值,下面是10,上面是20,总值30,10和20用不同颜色表示,但是在同一柱子上.有没有人能给个例子.我用的是vb2005.在线等.我的邮箱ivan0125@gmail.com 解决方案 解决方案二:有没有人能帮帮忙啊解决方案三:该回复于2007-10-18 08:49:05被版主删除

ASP.NET画柱状图和折线图

asp.net|折线图|柱状图 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlContro

用JFreeChart画柱状图和折线图的的复合图(当数据小于0时,柱子显示绿色,在Y轴负方,上数据大于0时,柱子显示红色,在Y轴正方)怎样画?

问题描述 [b][/b] 问题补充:我试过你说的这种方法,但判断的时候无效Rainbow702 写道 解决方案 这个柱状图,显示不同的颜色可以参考,官方的demo中的 dual axis demo[url]http://www.jfree.org/jfreechart/samples.html[/url]解决方案二:为什么判断与 0 的大小关系会行不通呢?这个有点说不过去啊?解决方案三:我试过你说的这种方法,但判断的时候无效?你是指判断什么?判断与0的关系?解决方案四:以前只是使用过 JFree

使用three.js 画渐变的直线_其它

Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机.光影.材质等各种对象.你可以在它的主页上看到许多精彩的演示.不过,这款引擎目前还处在比较不成熟的开发阶段,其不够丰富的 API 以及匮乏的文档增加了初学者的学习难度(尤其是文档的匮乏)three.js的代码托管在github上面. http://github.com/mrdoob/three.js/ 我们来看实例吧 <!DOCTYPE html> <html> <head>