asp生成三维饼图的函数

为方便生成三维饼图函数,我收集了asp下的生成三维饼图的函数的代码,方便大家特殊情况下的使用


代码如下:

<%
'参数含义(数组,横坐标,纵坐标,图表的宽度,图表的高度,图表标题,单位)
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;width: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;width: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;width: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;width: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&";width: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&";width:600;height:700' fillcolor='"&bg_color(i)&"' stroked='f'/>"
              response.Write " <v:Rect style='position:relative;left:16300;top:"&i*9000/11+1500&";width: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
response.write "<a href=aaa.asp>"
              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 = "名称:"&stat_array(i,2)&" 数值:"&stat_array(i,1)&unit&" 所占比例:"&pie(i)*100&"%"
              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;width: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
response.write "</a>"
       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,120,20,900,500,"三维饼状图","元")
'参数含义(数组,横坐标,纵坐标,图表的宽度,图表的高度,图表标题,单位)
%>

(0)

相关推荐

  • asp生成三维饼图的函数

    为方便生成三维饼图函数,我收集了asp下的生成三维饼图的函数的代码,方便大家特殊情况下的使用 复制代码 代码如下: <% '参数含义(数组,横坐标,纵坐标,图表的宽度,图表的高度,图表标题,单位) 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&q

  • ASP生成柱型体,折线图,饼图源代码提供了第1/3页

    ASP生成柱型体,折线图,饼图源代码 <% 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

  • ASP生成柱型体,折线图,饼图源代码

    ASP生成柱型体,折线图,饼图源代码 -------------------------------------------------------------------------------- <% function table2(total,table_x,table_y,all_width,all_height,line_no) '参数含义(传递的数组,横坐标,纵坐标,图表的宽度,图表的高度,折线条数) '纯ASP代码生成图表函数2--折线图 '作者:龚鸣(Passwordgm) QQ

  • php 三维饼图的实现代码

    经过努力pie3d完成了,好东西与大家分享.不过小弟是php新手,代码可能不够精炼,希望大家指教共同来完善这个程序.记得通知我(estorm@yeah.net) +------------------------+ | pie3dfun.php//公用函数 | +------------------------+ define("ANGLE_STEP",5);//定义画椭圆弧时的角度步长 function chx_getdarkcolor($img,$clr){//求$clr对应的暗色

  • ASP生成随机字符串(数字+大小写字母)的代码

    <% 'ASP生成随机字符串(数字+大小写字母)练习 '阿会楠练习,为我所用,非我所想  Function randKey(obj)  Dim char_array(80)  Dim temp  For i = 0 To 9    char_array(i) = Cstr(i)  Next  For i = 10 To 35   char_array(i) = Chr(i + 55)  Next  For i = 36 To 61   char_array(i) = Chr(i + 61)  N

  • ASP超级链接和HTML函数正则表达式 修正版

    过滤超级链接 复制代码 代码如下: Function RegRemoveHref(HTMLstr) Set ra = New RegExp ra.IgnoreCase = True ra.Global = True ra.Pattern = "<A[^>]+>(.+?)<\/A>" RegRemoveHref = ra.replace(HTMLstr,"$1") END Function 过滤所有HTML代码 复制代码 代码如下: Fu

  • php中生成随机密码的自定义函数代码

    代码一: 生成一个随机密码的函数,生成的密码为小写字母与数字的随机字符串,长度可自定义.相对来说,这个比较简单 复制代码 代码如下: <?php/* * php自动生成新密码自定义函数(带实例演示)      适用环境: PHP5.2.x  / mysql 5.0.x* */function genPassword($min = 5, $max = 8)  {      $validchars="abcdefghijklmnopqrstuvwxyz123456789";     

  • ASP生成数字相加求和的BMP图片验证码

    目前网络上有许多图片验证码形式,那些没有生成图片的验证码的抗破解防御能力简直不堪一击:有人直接在网页源码里显示出具体的数字,然后要求访问者输入一个相加后的和:如3+5=多少,这样的验证码新意倒有一些,不过可惜,根本没有起到保护的作用. flymorn改进一下以上的新意,直接把3+6=多少的形式采用asp程序生成Bmp图片格式,并且把数字相加后的和存进session里,加大破解的门槛:没有一些图形图像学知识的人是无法破解的.代码如下: 复制代码 代码如下: <%  Response.Buffer 

  • PHP+Mysql实现多关键字与多字段生成SQL语句的函数

    本文实例讲述了PHP+Mysql实现多关键字与多字段生成SQL语句的函数的方法.分享给大家供大家参考.具体实现方法如下: 先看实例: 复制代码 代码如下: $keyword="1 2 3"; echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //函数生成,没有LIMIT,没有ORDER BY 生成: 复制代码 代码如下: SELECT * FROM `enter_gongyin_pic

  • ASP生成随机数 ASP生成不重复随机数

    ASP生成随机数: 复制代码 代码如下: Randomize '纯随机,不重复 Response.write Int((999999999 * Rnd) + 111111111) '生成111111111到999999999之间随机数 ASP不重复随机数: 方法一: 已测 使用的时候需要注意里面的分割字符串的字符. 复制代码 代码如下: <% '生成的是一个不重复的数组 Function GetRnd(lowerNum,upperNum) Dim unit,RndNum,Fun_X unit =

随机推荐