方法一
| <%dim total(7,3) total(1,0)="中国经营报" total(2,0)="招聘网" total(3,0)="51job" total(4,0)="新民晚报" total(5,0)="新闻晚报" total(6,0)="南方周末" total(7,0)="羊城晚报" total(0,1)="#ff0000,1.5,1,2,公司1"'参数1线条的颜色,参数2线条的宽度,参数3线条的类型,参数4转折点的类型,参数5线条名称 total(1,1)=200 total(2,1)=1200 total(3,1)=900 total(4,1)=600 total(5,1)=1222 total(6,1)=413 total(7,1)=800 total(0,2)="#0000ff,1,2,3,公司2" total(1,2)=400 total(2,2)=500 total(3,2)=1040 total(4,2)=1600 total(5,2)=522 total(6,2)=813 total(7,2)=980 total(0,3)="#004d00,1,1,3,公司3" total(1,3)=900 total(2,3)=890 total(3,3)=1240 total(4,3)=1300 total(5,3)=722 total(6,3)=833 total(7,3)=1280 %><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> td { font-size: 9pt} </style></head> <body topmargin=5 leftmargin=0 scroll=auto> <%call table2(total,100,90,600,250,3)%> </body> </html> <% function table2(total,table_x,table_y,all_width,all_height,line_no) '参数含义(传递的数组,横坐标,纵坐标,图表的宽度,图表的高度,折线条数) '纯asp代码生成图表函数2——折线图 '作者:龚鸣(passwordgm) qq:25968152 msn:passwordgm@sina.com email:passwordgm@sina.com '本人非常愿意和asp,vml,flash的爱好者在http://topclouds.126.com进行交流和探讨 '版本1.0 最后修改日期 2003-8-11 '非常感谢您使用这个函数,请您使用和转载时保留版权信息,这是对作者工作的最好的尊重。 line_color="#69f" left_width=70 total_no=ubound(total,1) temp1=0 for i=1 to total_no for j=1 to line_no if temp1<total(i,j) then temp1=total(i,j) next next temp1=int(temp1) if temp1>9 then temp2=mid(cstr(temp1),2,1) if temp2>4 then temp3=(int(temp1/(10^(len(cstr(temp1))-1)))+1)*10^(len(cstr(temp1))-1) else temp3=(int(temp1/(10^(len(cstr(temp1))-1)))+0.5)*10^(len(cstr(temp1))-1) end if else if temp1>4 then temp3=10 else temp3=5 end if temp4=temp3 response.write "<v:rect id='_x0000_s1027' alt='' style='position:absolute;left:"&table_x+left_width&"px;top:"&table_y&"px;width:"&all_width&"px;height:"&all_height&"px;z-index:-1' fillcolor='#9cf' stroked='f'><v:fill rotate='t' angle='-45' focus='100%' type='gradient'/></v:rect>" for i=0 to all_height-1 step all_height/5 response.write "<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='"&table_x+left_width+length&"px,"&table_y+all_height-length-i&"px' to='"&table_x+all_width+left_width&"px,"&table_y+all_height-length-i&"px' strokecolor='"&line_color&"'/>" response.write "<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='"&table_x+(left_width-15)&"px,"&table_y+i&"px' to='"&table_x+left_width&"px,"&table_y+i&"px'/>" response.write "" response.write "<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:"&table_x&"px;top:"&table_y+i&"px;width:"&left_width&"px;height:18px;z-index:1'>" response.write "<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='right'>"&temp4&"</td></tr></table></v:textbox></v:shape>" temp4=temp4-temp3/5 next response.write "<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='"&table_x+left_width&"px,"&table_y+all_height&"px' to='"&table_x+all_width+left_width&"px,"&table_y+all_height&"px'/>" response.write "<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='"&table_x+left_width&"px,"&table_y&"px' to='"&table_x+left_width&"px,"&table_y+all_height&"px'/>" dim line_code redim line_code(line_no,5) for i=1 to line_no line_temp=split(total(0,i),",") line_code(i,1)=line_temp(0) line_code(i,2)=line_temp(1) line_code(i,3)=line_temp(2) line_code(i,4)=line_temp(3) line_code(i,5)=line_temp(4) next for j=1 to line_no for i=1 to total_no-1 x1=table_x+left_width+all_width*(i-1)/total_no y1=table_y+(temp3-total(i,j))*(all_height/temp3) x2=table_x+left_width+all_width*i/total_no y2=table_y+(temp3-total(i+1,j))*(all_height/temp3) response.write "<v:line id=""_x0000_s1025"" alt="""" style='position:absolute;left:0;text-align:left;top:0;z-index:1' from="""&x1&"px,"&y1&"px"" to="""&x2&"px,"&y2&"px"" coordsize=""21600,21600"" strokecolor="""&line_code(j,1)&""" strokeweight="""&line_code(j,2)&""">" select case line_code(j,3) case 1 case 2 response.write "<v:stroke dashstyle='1 1'/>" case 3 response.write "<v:stroke dashstyle='dash'/>" case 4 response.write "<v:stroke dashstyle='dashdot'/>" case 5 response.write "<v:stroke dashstyle='longdash'/>" case 6 response.write "<v:stroke dashstyle='longdashdot'/>" case 7 response.write "<v:stroke dashstyle='longdashdotdot'/>" case else end select response.write "</v:line>"&chr(13) select case line_code(j,4) case 1 case 2 response.write "<v:rect id=""_x0000_s1027"" style='position:absolute;left:"&x1-2&"px;top:"&y1-2&"px;width:4px;height:4px; z-index:2' fillcolor="""&line_code(j,1)&""" strokecolor="""&line_code(j,1)&"""/>"&chr(13) case 3 response.write "<v:oval id=""_x0000_s1026"" style='position:absolute;left:"&x1-2&"px;top:"&y1-2&"px;width:4px;height:4px;z-index:1' fillcolor="""&line_code(j,1)&""" strokecolor="""&line_code(j,1)&"""/>"&chr(13) end select next select case line_code(j,4) case 1 case 2 response.write "<v:rect id=""_x0000_s1027"" style='position:absolute;left:"&x2-2&"px;top:"&y2-2&"px;width:4px;height:4px; z-index:2' fillcolor="""&line_code(j,1)&""" strokecolor="""&line_code(j,1)&"""/>"&chr(13) case 3 response.write "<v:oval id=""_x0000_s1026"" style='position:absolute;left:"&x2-2&"px;top:"&y2-2&"px;width:4px;height:4px;z-index:1' fillcolor="""&line_code(j,1)&""" strokecolor="""&line_code(j,1)&"""/>"&chr(13) end select next for i=1 to total_no response.write "<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='"&table_x+left_width+all_width*(i-1)/total_no&"px,"&table_y+all_height&"px' to='"&table_x+left_width+all_width*(i-1)/total_no&"px,"&table_y+all_height+15&"px'/>" response.write "" response.write "<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:"&table_x+left_width+all_width*(i-1)/total_no&"px;top:"&table_y+all_height&"px;width:"&all_width/total_no&"px;height:18px;z-index:1'>" response.write "<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='left'>"&total(i,0)&"</td></tr></table></v:textbox></v:shape>" next tb_height=30 response.write "<v:rect id='_x0000_s1025' style='position:absolute;left:"&table_x+all_width+20&"px;top:"&table_y&"px;width:100px;height:"&line_no*tb_height+20&"px;z-index:1'/>" for i=1 to line_no response.write "<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:"&table_x+all_width+25&"px;top:"&table_y+10+(i-1)*tb_height&"px;width:60px;height:"&tb_height&"px;z-index:1'>" response.write "<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='left'>"&line_code(i,5)&"</td></tr></table></v:textbox></v:shape>" response.write "<v:rect id='_x0000_s1040' alt='' style='position:absolute;left:"&table_x+all_width+80&"px;top:"&table_y+10+(i-1)*tb_height+4&"px;width:30px;height:20px;z-index:1' fillcolor='"&line_code(i,1)&"'><v:fill color2='"&line_code(i,1)&"' rotate='t' focus='100%' type='gradient'/></v:rect>" next end function %> |
<% height=200 '//图表高度 posx=390-width/2 '//相对浏览器的x位置 scalex=50 '//最好为width值的倍数 countx=cint(width/scalex) data="50,50100,120200,150300,50450,100" '//要输入折线的点阵(竖线分隔每个组,逗号分隔每个组中的x和y值) tempdata=split(data,"")
<html> <body> <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"> <!--总体框架--> <!--x轴刻度--> <!--y轴刻度--> <!--画点连线--> <% for i=0 to tempdatacount %> </body> |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器