zoukankan      html  css  js  c++  java
  • ASP+VML制作统计图的源程序

    有时间大家也学学:http://lydsgw.com/fyw/  教程)
    此程序只能用IE浏览器浏览,根据下面的源程序,我们只是略做修改结合数据库就能实际应用到一些系统中。

    示例:1、直方图    2、饼图   3、曲线图


    一、统计图--直方图

    <%
    '┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    '
    ┃                               ┃
    '
    ┃ 摘 要: 统计图--直方图                       ┃
    '
    ┃ 作 者: 翁云兵                        ┃
    '
    ┃ 创建日期:2004年11月5日                    ┃
    '
    ┃ 完成日期:2004年11月5日                    ┃
    '
    ┃                               ┃
    '
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    '
    参数含义(数组,横坐标,纵坐标,图表的宽度,图表的高度,图表标题,X轴单位,Y轴单位)
    function table1(stat_array,table_left,table_top,all_width,all_height,table_title,X_unit,Y_unit)
    dim bg_color(10)
    bg_color(
    1)="#ff1919"
    bg_color(2)="#ffff19"
    bg_color(3)="#1919ff"
    bg_color(4)="#19ff19"
    bg_color(5)="#fc0"
    bg_color(6)="#3cc"
    bg_color(7)="#ff19ff"
    bg_color(8)="#993300"
    bg_color(9)="#f60"
    bg_color(10)="#ff8c19"

    if X_unit<>"" then
    X_unit
    =X_unit
    end if
    if Y_unit<>"" then
    Y_unit
    =Y_unit
    end if

    num 
    =ubound(stat_array,1)
    item_width 
    = cint(20000/num+0.5)
    begin_x
    = cint((item_width-1200)/2)+2200

    value_Max
    =0
    for i=1 to num
    if value_Max<stat_array(i,1then value_Max=stat_array(i,1)
    next
    value_Max 
    = cint(value_Max)
    value_Max_str 
    =cstr(value_Max) 
    if value_Max>9 then
    temp
    =mid(value_Max_str,2,1)
    if temp>4 then 
    temp2
    =(int(value_Max/(10^(len(value_Max_str)-1)))+1)*10^(len(value_Max_str)-1)
    else
    temp2
    =(int(value_Max/(10^(len(value_Max_str)-1)))+0.5)*10^(len(value_Max_str)-1)
    end if
    else
    if value_Max>4 then temp2=10 else temp2=5
    end if
    item_hight 
    = temp2/5

    response.Write 
    "<v:shapetype id='Box' coordsize='21600,21600' o:spt='16' adj='5400'></v:shapetype>"

    response.Write "<v:rect id='background' style='position:absolute;left:"&table_left&"px;top:"&table_top&"px;WIDTH:"&all_width&"px;HEIGHT:"&all_height&"px;' fillcolor='#EFEFEF' strokecolor='gray'>"
    response.Write " <v:shadow on='t' type='single' color='silver' offset='4pt,4pt'/>"
    response.Write "</v:rect>"

    response.Write "<v:group ID='table' style='position:absolute;left:"&table_left&"px;top:"&table_top&"px;WIDTH:"&all_width&"px;HEIGHT:"&all_height&"px;' coordsize = '23500,12700'>" 

    response.Write 
    " <v:Rect style='position:relative;left:1500;top:200;20000;height:800'filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt'>"
    response.Write " <table width='100%' border='0' align='center' cellspacing='0'>"
    response.Write " <tr>"
    response.Write " <td align='center' valign='middle'><div style='font-size:15pt; font-family:黑体;'><B>"&table_title&"</B></div></td>"
    response.Write " </tr>"
    response.Write " </table>"
    response.Write " </v:TextBox>"
    response.Write " </v:Rect> "

    response.Write " <v:rect id='back' style='position:relative;left:1700;top:1200;20500; height:10500;' fillcolor='#9cf' strokecolor='#DFDFDF'>"
    response.Write " <v:fill rotate='t' angle='-45' focus='100%' type='gradient'/>"
    response.Write " </v:rect>"
    response.Write " <v:line ID='X' from='1700,11700' to='22700,11700' style='z-index:2' strokecolor='#000000' strokeWeight=1pt><v:stroke EndArrow='Classic'/></v:line>"
    response.Write " <v:line ID='Y' from='1700,900' to='1700,11700' style='z-index:2' strokecolor='#000000' strokeWeight=1pt><v:stroke StartArrow='Classic'/></v:line>"

    response.Write " <v:Rect style='position:relative;left:100;top:700;1500;height:500' filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'><div align='right'>"&Y_unit&"</div></v:TextBox>"
    response.Write " </v:Rect> " 
    response.Write 
    " <v:Rect style='position:relative;left:22200;top:11700;2000;height:500' filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'><div align='left'>"&X_unit&"</div></v:TextBox>"
    response.Write " </v:Rect> " 
    for i=0 to 4
    response.Write 
    " <v:line from='1200,"&i*2000+1700&"' to='1700,"&i*2000+1700&"' style='z-index:2' strokecolor='#000000'></v:line>"
    response.Write " <v:line from='1700,"&i*2000+1700&"' to='2200,"&i*2000+1200&"' style='z-index:2' strokecolor='#0099FF'></v:line>"
    response.Write " <v:line from='2200,"&i*2000+1200&"' to='22200,"&i*2000+1200&"' style='z-index:2' strokecolor='#0099FF'></v:line>"
    response.Write " <v:line from='2200,"&i*2000+2200&"' to='22200,"&i*2000+2200&"' style='z-index:2' strokecolor='#0099FF'>"
    response.Write " <v:stroke dashstyle='Dot'/>"
    response.Write " </v:line>"

    response.Write " <v:Rect style='position:relative;left:100;top:"&i*2000+1250&";1500;height:500' filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'><div align='right'>"&item_hight*(5-i)&"</div></v:TextBox>"
    response.Write " </v:Rect> " 
    next

    response.Write 
    " <v:line from='2200,11200' to='22200,11200' style='z-index:2' strokecolor='#0099FF'></v:line>"
    response.Write " <v:line from='2200,1200' to='2200,11200' style='z-index:2' strokecolor='#0099FF'></v:line>"
    response.Write " <v:line from='1700,11700' to='2200,11200' style='z-index:2' strokecolor='#0099FF'></v:line>"

    for i=1 to num
    this_hight 
    = cint(stat_array(i,1)/(5*item_hight)*10000+420)
    response.Write 
    " <v:shape id='Box"&i&"' type='#Box' fillcolor='"&bg_color(i)&"' strokecolor='#5f5f5f' style='position:relative; left:"&(i-1)*item_width+begin_x&";top:"&cint(10000-this_hight+1620)&";1200;height:"&this_hight&";z-index:10'>"
    response.Write " <v:fill o:opacity2='52429f' rotate='t' angle='-45' focus='100%' type='gradient'/>"
    response.Write " </v:shape>"

    response.Write " <v:Rect style='position:relative;left:"&(i-1)*item_width+2200&";top:"&cint(10000-this_hight+1150)&";"&item_width&";height:500' filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'><div align='center'>"&stat_array(i,1)&"</div></v:TextBox>"
    response.Write " </v:Rect> " 

    response.Write 
    " <v:Rect style='position:relative;left:"&(i-1)*item_width+2200&";top:11850;"&item_width&";height:500' filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'><div align='center'>"&stat_array(i,2)&"</div></v:TextBox>"
    response.Write " </v:Rect> " 
    next
    response.Write 
    "</v:group>"
    end function
    %
    >
    <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
    <head>
    <title></title>
    <STYLE>
    v
    \:* { Behavior: url(#default#VML) }
    o
    \:* { behavior: url(#default#VML) }
    </STYLE>
    </head>
    <body>

    <%
    dim total(10,2)

    total(
    1,1)=200
    total(
    2,1)=800
    total(
    3,1)=1004
    total(
    4,1)=600
    total(
    5,1)=1222
    total(
    6,1)=2100
    total(
    7,1)=80
    total(
    8,1)=1002
    total(
    9,1)=145
    total(
    10,1)=1040

    total(
    1,2)="项目1"
    total(2,2)="项目2"
    total(3,2)="项目3"
    total(4,2)="项目4"
    total(5,2)="项目5"
    total(6,2)="项目6"
    total(7,2)="项目7"
    total(8,2)="项目8"
    total(9,2)="项目9"
    total(10,2)="项目10"

    call table1(total,240,200,700,400,"柱 状 统 计 图","","")
    %
    >

    </body>
    </html>

    二、统计图--饼图
    <%
    '┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    '
    ┃                               ┃
    '
    ┃ 摘 要: 统计图--饼图                        ┃
    '
    ┃ 作 者: 翁云兵                        ┃
    '
    ┃ 创建日期:2004年11月23日                  ┃
    '
    ┃ 完成日期:2004年11月28日                  ┃
    '
    ┃                               ┃
    '
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    '
    参数含义(数组,横坐标,纵坐标,图表的宽度,图表的高度,图表标题,单位)
    function table2(stat_array,table_left,table_top,all_width,all_height,table_title,unit)
    dim bg_color(10),pie(10)
    bg_color(
    1)="#ff1919"
    bg_color(2)="#ffff19"
    bg_color(3)="#1919ff"
    bg_color(4)="#19ff19"
    bg_color(5)="#fc0"
    bg_color(6)="#3cc"
    bg_color(7)="#ff19ff"
    bg_color(8)="#993300"
    bg_color(9)="#f60"
    bg_color(10)="#ff8c19"

    num =ubound(stat_array,1)
    allvalues
    =0
    for i=1 to num
    allvalues 
    = allvalues+stat_array(i,1)
    next
    k
    =0
    for i=1 to num-1
    pie(i)
    =formatnumber(stat_array(i,1)/allvalues,4,-1)
    k
    =k+pie(i)
    next
    pie(num)
    =formatnumber((1-k),4,-1)

    response.Write 
    "<v:shapetype id='Cake_3D' coordsize='21600,21600' o:spt='95' adj='11796480,5400' path='al10800,10800@0@0@2@14,10800,10800,10800,10800@3@15xe'></v:shapetype>"

    response.Write "<v:shapetype id='3dtxt' coordsize='21600,21600' o:spt='136' adj='10800' path='m@7,l@8,m@5,21600l@6,21600e'> "
    response.Write " <v:path textpathok='t' o:connecttype='custom' o:connectlocs='@9,0;@10,10800;@11,21600;@12,10800' o:connectangles='270,180,90,0'/>"
    response.Write " <v:textpath on='t' fitshape='t'/>"
    response.Write " <o:lock v:ext='edit' text='t' shapetype='t'/>"
    response.Write "</v:shapetype>"

    response.Write "<v:rect id='background' style='position:absolute;left:"&table_left&"px;top:"&table_top&"px;WIDTH:"&all_width&"px;HEIGHT:"&all_height&"px;' fillcolor='#EFEFEF' strokecolor='gray'>"
    response.Write " <v:shadow on='t' type='single' color='silver' offset='4pt,4pt'/>"
    response.Write "</v:rect>"

    response.Write "<v:group ID='table' style='position:absolute;left:"&table_left&"px;top:"&table_top&"px;WIDTH:"&all_width&"px;HEIGHT:"&all_height&"px;' coordsize = '21000,11500'>" 
    response.Write 
    " <v:Rect style='position:relative;left:500;top:200;20000;height:800'filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt'>"
    response.Write " <table width='100%' border='0' align='center' cellspacing='0'>"
    response.Write " <tr>"
    response.Write " <td align='center' valign='middle'><div style='font-size:15pt; font-family:黑体;'><B>"&table_title&"</B></div></td>"
    response.Write " </tr>"
    response.Write " </table>"
    response.Write " </v:TextBox>"
    response.Write " </v:Rect> "

    response.Write " <v:rect id='back' style='position:relative;left:500;top:1000;20000; height:10000;' onmouseover='movereset(1)' onmouseout='movereset(0)' fillcolor='#9cf' strokecolor='#888888'>"
    response.Write " <v:fill rotate='t' angle='-45' focus='100%' type='gradient'/>"
    response.Write " </v:rect>"

    response.Write " <v:rect id='back' style='position:relative;left:15000;top:1400;5000; height:"&((num+1)*9000/11+200)&";' fillcolor='#9cf' stroked='t' strokecolor='#0099ff'>"
    response.Write " <v:fill rotate='t' angle='-175' focus='100%' type='gradient'/>"
    response.Write " <v:shadow on='t' type='single' color='silver' offset='3pt,3pt'/>"
    response.Write " </v:rect>"

    response.Write " <v:Rect style='position:relative;left:15500;top:1500;4000;height:700' fillcolor='#000000' stroked='f' strokecolor='#000000'>"
    response.Write " <v:TextBox inset='8pt,4pt,3pt,3pt' style='font-size:11pt;'><div align='left'><font color='#ffffff'><B>总数:"&allvalues&unit&"</B></font></div></v:TextBox>"
    response.Write " </v:Rect> " 
    for i=1 to num
    response.Write 
    " <v:Rect id='rec"&i&"' style='position:relative;left:15400;top:"&i*9000/11+1450&";4300;height:800;display:none' fillcolor='#efefef' strokecolor='"&bg_color(i)&"'>"
    response.Write " <v:fill opacity='.6' color2='fill darken(118)' o:opacity2='.6' rotate='t' method='linear sigma' focus='100%' type='gradient'/>"
    response.Write " </v:Rect>"
    response.Write " <v:Rect style='position:relative;left:15500;top:"&i*9000/11+1500&";600;height:700' fillcolor='"&bg_color(i)&"' stroked='f'/>"
    response.Write " <v:Rect style='position:relative;left:16300;top:"&i*9000/11+1500&";3400;height:700' filled='f' stroked='f'>"
    response.Write " <v:TextBox inset='0pt,5pt,0pt,0pt' style='font-size:9pt;'><div align='left'>"&stat_array(i,2)&":"&stat_array(i,1)&unit&"</div></v:TextBox>"
    response.Write " </v:Rect> " 
    next

    response.Write 
    "</v:group>"

    k1=180
    k4
    =10
    for i=1 to num
    k2
    =360*pie(i)/2
    k3
    =k1+k2
    if k3>=360 then
    k3
    =k3-360
    end if
    kkk
    =(-11796480*pie(i)+5898240)

    k5
    =3.1414926*2*(180-(k3-180))/360
    R
    =all_height/2
    txt_x 
    = table_left+all_height/8-30+R+R*sin(k5)*0.7
    txt_y 
    = table_top+all_height/14-39+R+R*cos(k5)*0.7*0.5

    titlestr 
    = "&nbsp;名&nbsp;&nbsp;称:"&stat_array(i,2)&"&#13;&#10;&nbsp;数&nbsp;&nbsp;值:"&stat_array(i,1)&unit&"&#13;&#10;&nbsp;所占比例:"&pie(i)*100&"%&nbsp;&nbsp;"
    response.Write " <div style='cursor:hand;'>"
    response.Write " <v:shape id='cake"&i&"' type='#Cake_3D' title='"&titlestr&"'"
    response.Write " style='position:absolute;left:"&table_left+all_height/8&"px;top:"&table_top+all_height/14&"px;WIDTH:"&all_height&"px;HEIGHT:"&all_height&"px;rotation:"&k3&";z-index:"&k4&"'"
    response.Write " adj='"&kkk&",0' fillcolor='"&bg_color(i)&"' onmouseover='moveup(cake"&i&","&(table_top+all_height/14)&",txt"&i&",rec"&i&")'; onmouseout='movedown(cake"&i&","&(table_top+all_height/14)&",txt"&i&",rec"&i&");'>"
    response.Write " <v:fill opacity='60293f' color2='fill lighten(120)' o:opacity2='60293f' rotate='t' angle='-135' method='linear sigma' focus='100%' type='gradient'/>"
    response.Write " <o:extrusion v:ext='view' on='t'backdepth='25' rotationangle='60' viewpoint='0,0'viewpointorigin='0,0' skewamt='0' lightposition='-50000,-50000' lightposition2='50000'/>"
    response.Write " </v:shape>"
    response.Write " <v:shape id='txt"&i&"' type='#3dtxt' style='position:absolute;left:"&txt_x&"px;top:"&txt_y&"px;z-index:20;display:none;50; height:18;' fillcolor='#ffffff'"
    response.Write " onmouseover='ontxt(cake"&i&","&(table_top+all_height/14)&",txt"&i&",rec"&i&")'>"
    response.Write " <v:fill opacity='60293f' color2='fill lighten(120)' o:opacity2='60293f' rotate='t' angle='-135' method='linear sigma' focus='100%' type='gradient'/>"
    response.Write " <v:textpath style='font-family:'宋体';v-text-kern:t' trim='t' fitpath='t' string='"&pie(i)*100&"%'/>"
    response.Write " <o:extrusion v:ext='view' backdepth='8pt' on='t' lightposition='0,0' lightposition2='0,0'/>"
    response.Write " </v:shape>" 
    response.Write 
    " </div>"
    k1=k1+k2*2
    if k1>=360 then
    k1
    =k1-360
    end if
    if k1>180 then
    k4
    =k4+1
    else
    k4
    =k4-1
    end if
    next
    end function
    %
    >
    <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
    <head>
    <title></title>
    <STYLE>
    v
    \:* { Behavior: url(#default#VML) }
    o
    \:* { behavior: url(#default#VML) }
    </STYLE>
    </head>
    <body>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    onit
    =true
    num
    =0
    function moveup(iteam,top,txt,rec){
    temp
    =eval(iteam)
    tempat
    =eval(top)
    temptxt
    =eval(txt)
    temprec
    =eval(rec)
    at
    =parseInt(temp.style.top)
    temprec.style.display 
    = ""
    if (num>27){
    temptxt.style.display 
    = "";
    }
    if(at>(tempat-28)&&onit){
    num
    ++
    temp.style.top
    =at-1
    Stop
    =setTimeout("moveup(temp,tempat,temptxt,temprec)",10)
    }
    else{
    return

    }
    function movedown(iteam,top,txt,rec){
    temp
    =eval(iteam)
    temptxt
    =eval(txt)
    temprec
    =eval(rec)
    clearTimeout(Stop)
    temp.style.top
    =top
    num
    =0
    temptxt.style.display 
    = "none";
    temprec.style.display 
    = "none";
    }
    function ontxt(iteam,top,txt,rec){
    temp 
    = eval(iteam);
    temptxt 
    = eval(txt);
    temprec 
    = eval(rec)
    if (onit){
    temp.style.top 
    = top-28;
    temptxt.style.display 
    = "";
    temprec.style.display 
    = "";
    }
    }
    function movereset(over){
    if (over==1){
    onit
    =false
    }
    else{
    onit
    =true
    }
    }
    -->
    </script>
    <%
    dim total(10,2)

    total(
    1,1)=2000
    total(
    2,1)=1800
    total(
    3,1)=1700
    total(
    4,1)=1500
    total(
    5,1)=1222
    total(
    6,1)=1100
    total(
    7,1)=1000
    total(
    8,1)=800
    total(
    9,1)=700
    total(
    10,1)=600

    total(
    1,2)="项目1"
    total(2,2)="项目2"
    total(3,2)="项目3"
    total(4,2)="项目4"
    total(5,2)="项目5"
    total(6,2)="项目6"
    total(7,2)="项目7"
    total(8,2)="项目8"
    total(9,2)="项目9"
    total(10,2)="项目10"

    call table2(total,240,200,700,400,"三维饼状图","")
    %
    >
    </body>
    </html>

    三、统计图--曲线图
    <%
    '┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    '
    ┃                               ┃
    '
    ┃ 摘 要: 统计图--曲线图                       ┃
    '
    ┃ 作 者: 翁云兵                        ┃
    '
    ┃ 创建日期:2004年12月01日                    ┃
    '
    ┃ 完成日期:2004年11月03日                  ┃
    '
    ┃                               ┃
    '
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    '
    参数含义(数组,横坐标,纵坐标,图表的宽度,图表的高度,图表标题,X轴单位,Y轴单位)
    function table1(stat_array,table_left,table_top,all_width,all_height,table_title,X_unit,Y_unit)
    dim bg_color(10)
    bg_color(
    1)="#ff1919"
    bg_color(2)="#ffff19"
    bg_color(3)="#1919ff"
    bg_color(4)="#19ff19"
    bg_color(5)="#fc0"
    bg_color(6)="#3cc"
    bg_color(7)="#ff19ff"
    bg_color(8)="#993300"
    bg_color(9)="#f60"
    bg_color(10)="#ff8c19"

    if X_unit <> "" then
    X_unit 
    = X_unit
    end if
    if Y_unit <> "" then
    Y_unit 
    = Y_unit
    end if

    num1 
    = ubound(stat_array,1
    line_temp
    =split(stat_array(0,1),",")
    num2 
    = ubound(line_temp,1)+1
    dim line_code
    redim line_code(num1,num2)
    for j=1 to num2
    line_code(
    0,j) = line_temp(j-1)
    next
    for i=1 to num1
    line_temp 
    = split(stat_array(i,1),",")
    line_code(i,
    0= stat_array(i,2)
    for j=1 to num2
    line_code(i,j) 
    = cdbl(line_temp(j-1))
    next
    next 
    value_Max
    =0
    for i=1 to num1
    for j=1 to num2
    if value_Max<line_code(i,j) then value_Max=line_code(i,j) 
    next
    next

    value_Max 
    = cint(value_Max)
    value_Max_str 
    =cstr(value_Max) 
    if value_Max>9 then
    temp
    =mid(value_Max_str,2,1)
    if temp>4 then 
    temp2
    =(int(value_Max/(10^(len(value_Max_str)-1)))+1)*10^(len(value_Max_str)-1)
    else
    temp2
    =(int(value_Max/(10^(len(value_Max_str)-1)))+0.5)*10^(len(value_Max_str)-1)
    end if
    else
    if value_Max>4 then temp2=10 else temp2=5
    end if
    item_hight 
    = temp2/5

    item_width 
    = 20000/(num2-1)

    response.Write 
    "<v:rect id='background' style='position:absolute;left:"&table_left&"px;top:"&table_top&"px;WIDTH:"&all_width&"px;HEIGHT:"&all_height&"px;' fillcolor='#EFEFEF' strokecolor='gray'>"
    response.Write " <v:shadow on='t' type='single' color='silver' offset='4pt,4pt'/>"
    response.Write "</v:rect>"

    response.Write "<v:group ID='table' style='position:absolute;left:"&table_left&"px;top:"&table_top&"px;WIDTH:"&all_width&"px;HEIGHT:"&all_height&"px;' coordsize = '27500,12800'>"

    response.Write " <v:Rect style='position:relative;left:1500;top:200;23000;height:800'filled='false' stroked='f'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt'>"
    response.Write " <table width='100%' border='0' align='center' cellspacing='0'>"
    response.Write " <tr>"
    response.Write " <td align='center' valign='middle'><div style='font-size:15pt; font-family:黑体;'><B>"&table_title&"</B></div></td>"
    response.Write " </tr>"
    response.Write " </table>"
    response.Write " </v:TextBox>"
    response.Write " </v:Rect> "

    response.Write " <v:rect id='back' style='position:relative;left:1700;top:1200;20500; height:10500;' fillcolor='#9cf' strokecolor='#DFDFDF'>"
    response.Write " <v:fill rotate='t' angle='-45' focus='100%' type='gradient'/>"
    response.Write " </v:rect>"

    response.Write " <v:rect id='back2' style='position:relative;left:23000;top:1200;4000; height:"&(10500)&";' fillcolor='#9cf' stroked='t' strokecolor='#0099ff'>"
    response.Write " <v:fill rotate='t' angle='-175' focus='100%' type='gradient'/>"
    response.Write " <v:shadow on='t' type='single' color='silver' offset='3pt,3pt'/>"
    response.Write " </v:rect>"

    for i=1 to num1
    if i=1 then
    displaystr
    =""
    else
    displaystr
    ="none"
    end if
    response.Write 
    " <div style='cursor:hand;' onmouseover='moveon(rec"&i&",line_"&i&")' onmouseout='moveout(rec"&i&",line_"&i&","&i&")' onclick='clickit("&i&")'>"
    response.Write " <v:Rect id='rec"&i&"' style='position:relative;left:23100;top:"&(i-1)*10200/10+1450&";3800;height:800;display:"&displaystr&";' fillcolor='#efefef' strokecolor='"&bg_color(i)&"'>"
    response.Write " <v:fill opacity='.6' color2='fill darken(118)' o:opacity2='.6' rotate='t' method='linear sigma' focus='100%' type='gradient'/>"
    response.Write " </v:Rect>"
    response.Write " <v:Rect style='position:relative;left:23200;top:"&(i-1)*10200/10+1500&";600;height:700' fillcolor='"&bg_color(i)&"' stroked='f'/>"
    response.Write " <v:Rect style='position:relative;left:24000;top:"&(i-1)*10200/10+1500&";3400;height:700' filled='f' stroked='f'>"
    response.Write " <v:TextBox inset='0pt,4pt,0pt,0pt' style='font-size:9pt;'><div align='left'>"&stat_array(i,2)&"</div></v:TextBox>"
    response.Write " </v:Rect> "
    response.Write " </div> "
    next

    response.Write 
    " <v:line ID='X' from='1700,11700' to='22700,11700' style='z-index:2' strokecolor='#000000' strokeWeight=1pt><v:stroke EndArrow='Classic'/></v:line>"
    response.Write " <v:line ID='Y' from='1700,900' to='1700,11700' style='z-index:2' strokecolor='#000000' strokeWeight=1pt><v:stroke StartArrow='Classic'/></v:line>"

    response.Write " <v:Rect style='position:relative;left:100;top:700;1500;height:500' filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'><div align='right'>"&Y_unit&"</div></v:TextBox>"
    response.Write " </v:Rect> " 
    response.Write 
    " <v:Rect style='position:relative;left:22200;top:11900;2000;height:500' filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'><div align='left'>"&X_unit&"</div></v:TextBox>"
    response.Write " </v:Rect> " 

    for i=0 to 4
    response.Write 
    " <v:line from='1300,"&i*2000+1700&"' to='1700,"&i*2000+1700&"' style='z-index:2' strokecolor='#000000'></v:line>"
    response.Write " <v:line from='1700,"&i*2000+1700&"' to='2200,"&i*2000+1200&"' style='z-index:2' strokecolor='#0099FF'></v:line>"
    response.Write " <v:line from='2200,"&i*2000+1200&"' to='22200,"&i*2000+1200&"' style='z-index:2' strokecolor='#0099FF'></v:line>"
    response.Write " <v:line from='2200,"&i*2000+2200&"' to='22200,"&i*2000+2200&"' style='z-index:2' strokecolor='#0099FF'>"
    response.Write " <v:stroke dashstyle='Dot'/>"
    response.Write " </v:line>"

    response.Write " <v:Rect style='position:relative;left:100;top:"&i*2000+1250&";1500;height:500' filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'><div align='right'>"&item_hight*(5-i)&"</div></v:TextBox>"
    response.Write " </v:Rect> " 
    next

    response.Write 
    " <v:line from='2200,11200' to='22200,11200' style='z-index:2' strokecolor='#0099FF'></v:line>"
    response.Write " <v:line from='2200,1200' to='2200,11200' style='z-index:2' strokecolor='#0099FF'></v:line>"
    response.Write " <v:line from='1700,11700' to='2200,11200' style='z-index:2' strokecolor='#0099FF'></v:line>"

    for j=0 to num2-1
    response.Write 
    " <v:line from='"&j*item_width+1700&",11700' to='"&j*item_width+1700&",12000' style='z-index:2' strokecolor='#000000'></v:line>"
    response.Write " <v:line from='"&j*item_width+1700&",11700' to='"&j*item_width+2200&",11200' style='z-index:2' strokecolor='#0099FF'><v:stroke dashstyle='ShortDot'/></v:line>"
    response.Write " <v:line from='"&j*item_width+2200&",1200' to='"&j*item_width+2200&",11200' style='z-index:2' strokecolor='#0099FF'><v:stroke dashstyle='ShortDot'/></v:line>"
    response.Write " <v:Rect style='position:relative;left:"&j*item_width+1700-item_width/2&";top:12100;"&item_width&";height:500' filled='false' stroked='false'>"
    response.Write " <v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'><div align='center'>"&line_code(0,j+1)&"</div></v:TextBox>"
    response.Write " </v:Rect> " 
    next
    for i=1 to num1
    if i=1 then
    displaystr
    =""
    else
    displaystr
    ="none"
    end if
    response.Write 
    " <div id='line_"&i&"' style='display:"&displaystr&";'>"
    for j=0 to num2-2
    this_hight1 
    = cint(line_code(i,j+1)/(5*item_hight)*10000)
    this_hight2 
    = cint(line_code(i,j+2)/(5*item_hight)*10000)
    response.Write 
    " <v:line from='"&j*item_width+1850&","&(10000-this_hight1+1550)&"' to='"&(j+1)*item_width+1850&","&(10000-this_hight2+1550)&"'style='z-index:"&i*10&";' strokeweight='0.1pt' strokecolor='"&bg_color(i)&"'>"
    response.Write " <o:extrusion v:ext='view' backdepth='12pt' on='t' lightposition='-50000,-50000' lightposition2='50000'/>"
    response.Write " </v:line>"
    next
    response.Write 
    " </div>"
    next

    response.Write 
    "</v:group>" 
    end function
    %
    >
    <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
    <head>
    <title></title>
    <STYLE>
    v
    \:* { Behavior: url(#default#VML) }
    o
    \:* { behavior: url(#default#VML) }
    </STYLE>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var showit 
    = new Array(10);

    function moveon(iteam,lineit){
    temp
    =eval(iteam)
    templine
    =eval(lineit)
    if(showit[1]){
    rec1.style.display 
    = "";
    line_1.style.display 
    = "";
    }
    else{
    rec1.style.display 
    = "none";
    line_1.style.display 
    = "none";

    temp.style.display 
    = "";
    templine.style.display 
    = "";
    }
    function moveout(iteam,lineit,i){
    temp
    =eval(iteam)
    templine
    =eval(lineit)
    if (showit[i]){
    temp.style.display 
    = "";
    templine.style.display 
    = "";
    }
    else{
    temp.style.display 
    = "none";
    templine.style.display 
    = "none";
    }
    }
    function clickit(i){
    if (showit[i]){
    showit[i]
    =false
    }
    else{
    showit[i]
    =true

    }
    -->
    </script>
    </head>
    <body>

    <%
    dim total(10,2)

    total(
    0,1)="1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月"
    total(1,1)="200,158,982,0,369,100,595,895,652,25,245,951"
    total(2,1)="984,58,495,36,158,486,952,258,653,415,485,14"
    total(3,1)="850,988,958,145,369,745,265,158,856,145,425,352"
    total(4,1)="600,525,235,485,258,265,158,365,35,148,658,475"
    total(5,1)="62,525,635,215,0,465,258,305,66,547,54,148"
    total(6,1)="560,625,645,329,158,665,358,95,120,358,42,253"
    total(7,1)="950,725,635,435,258,865,458,955,152,845,425,421"
    total(8,1)="600,825,155,455,458,265,558,365,352,245,853,122"
    total(9,1)="360,925,215,545,658,465,658,845,400,421,541,125"
    total(10,1)="50,225,355,655,858,665,758,35,584,214,54,651"

    total(1,2)="项目1"
    total(2,2)="项目2"
    total(3,2)="项目3"
    total(4,2)="项目4"
    total(5,2)="项目5"
    total(6,2)="项目6"
    total(7,2)="项目7"
    total(8,2)="项目8"
    total(9,2)="项目9"
    total(10,2)="项目10"


    call table1(total,240,200,700,350,"曲 线 统 计 图","时间","")
    %
    >

    </body>
    </html>

    青苹果Web应用商店 https://webapp.taobao.com/

    PHP/ASP.NET/ASP/UCHOME/DISCUZ! X系列网站开发,详细需求联系QQ:8511978

  • 相关阅读:
    数学是最好的语言
    人类的语言--自然语言--》逻辑语言
    为什么大脑喜欢看图?
    思考是调用大脑存储的上下文对输入信息进行处理的过程
    Redis的相关问题总结
    TP5 关联模型使用(嵌套关联、动态排序以及隐藏字段)
    array_column 函数, 以及在PHP5.5之下的替代方法
    thinkphp在app接口开发过程中的通讯安全认证
    PHP开发APP接口实现--基本篇
    分布式与集群的区别是什么?
  • 原文地址:https://www.cnblogs.com/Dicky/p/194358.html
Copyright © 2011-2022 走看看