`
menjoy
  • 浏览: 422144 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

用asp+vml实现的立体统计图(一)-----柱状图

    博客分类:
  • ASP
ASP 
阅读更多
<%
'┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
'┃                               ┃
'┃ 摘 要: 统计图--直方图                    ┃
'┃ 作 者: 翁云兵                       ┃
'┃ 创建日期: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,1) then 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;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:1700;top:1200;width: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;width: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;width: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&";width: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)&";width: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)&";width:"&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;width:"&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,"柱 状 统 计 图","","元")
%>

分享到:
评论

相关推荐

    asp.net+vml流程图代码

    在本案例中,"asp.net+vml流程图代码"指的是利用ASP.NET技术和VML(Vector Markup Language)来创建流程图的一种编程实践。VML是一种标记语言,允许在网页上绘制矢量图形,尤其适合在不支持SVG(Scalable Vector ...

    Echarts+ajax+java+mysql实现饼图+折线图+柱状图

    Echarts是一个基于SVG/VML/Canvas的高性能、跨浏览器、跨平台的图表库,支持多种图表类型,如折线图、柱状图、饼图、散点图等。它提供了一套完整的API和交互设计,使得开发者能够方便地进行图表配置和定制,实现...

    asp+vml 图表 矩形图示例

    在这个“asp+vml图表 矩形图示例”中,开发者可能使用ASP动态生成VML代码,以创建一个矩形图,这种图形通常用于表示数据分布或比较。VML的优点在于它可以生成高质量的图形,并且在没有安装额外插件的情况下也能在...

    带tooltip的js+vml曲线图示例

    本示例"带tooltip的js+vml曲线图示例"展示了如何利用JavaScript和VML(Vector Markup Language)技术来构建具有提示功能的曲线图表。这个教程将帮助开发者更好地理解和实现这样的功能。 首先,让我们了解JavaScript...

    ASP+VML技术打造一款漂亮的统计图表

    要使用ASP和VML创建统计图表,我们需要遵循以下步骤: 1. **数据准备**:首先,我们需要获取要显示在图表中的数据。这通常来自数据库,通过ASP连接和查询SQL语句来获取。 2. **创建ASP页面**:创建一个新的ASP页面...

    vml+javascript实现的3d柱状图(仅适用于ie)

    本主题聚焦于一种特定的技术,即使用VML(Vector Markup Language)和JavaScript来创建3D柱状图,这是一种针对IE浏览器的解决方案。在本文中,我们将深入探讨这些技术及其在实现3D柱状图中的应用。 首先,我们来看...

    使用VML在asp.net中做统计图的的绝佳示例(柱状,饼状图)--超级轻量

    在ASP.NET开发中,有时我们需要在网页上展示各种统计数据,如柱状图、饼状图等,这通常可以通过使用各种图形库或插件来实现。然而,有些情况下,我们可能希望避免引入额外的依赖,或者因为性能和轻量化的需求,选择...

    ASP+VML 动态曲线

    网页制作\网页源码\动态曲线 ASP+VML

    真正的ASP+VML生成曲线图形

    这些资源对于初学者来说非常有价值,因为它们提供了一个具体的实现范例,可以帮助理解ASP和VML结合使用的方法。 学习这部分知识对于Web开发人员来说尤其重要,尤其是在处理数据可视化、报表生成或创建交互式图表的...

    vml+javascript直接在浏览器中绘制动态曲线图实例(源码-+Think+in+vml++vml+极道教程)

    这个"vml+javascript直接在浏览器中绘制动态曲线图实例"提供了源码,可以帮助我们理解如何使用VML和JavaScript实现这一功能。首先,我们需要在HTML页面中定义VML的命名空间,并设置CSS样式以便在IE浏览器中正确显示...

    html+ VML工作流程

    在提供的文件"流程设计.htm"中,很可能包含了一个用HTML和VML实现的工作流程示例。"流程设计_files"可能是一个文件夹,包含了支持该页面运行的额外资源,如CSS样式表、JavaScript文件或图片。通过查看这些文件,我们...

    asp+vml图表 饼状图示例

    在ASP中,我们可以集成各种技术来实现丰富的功能,其中包括VML(Vector Markup Language),一种用于在网页上描绘矢量图形的语言。在这个"asp+vml图表 饼状图示例"中,我们将探讨如何利用这两项技术来生成动态的数据...

    asp结合VML写的柱状图,饼图,折线图(注:asp+VML)

    给出部分代码: '画X柱子 dim PolyLine1,PolyLine2 For i = 1.5 To uboundY+1 'step 0.5 xRect = (i-1)*allX\uboundY height1 = -allY * arr(1,int(i)) / arrMax height2 = -allY * arr(2,int(i)) / arrMax ...

    ASP+VML读取数据库并生成曲线图

    ASP(Active Server ...通过以上步骤,我们可以实现一个动态的、基于ASP和VML的曲线图,它能够从数据库中实时获取数据,为用户提供直观的可视化展示。这种技术在数据分析、监控系统、报表生成等场景中有广泛的应用。

    js+vml打造统计图(柱状\饼\折线),带说明

    JavaScript 和 VML(Vector Markup Language)技术在网页中创建统计图表是一种早期的解决方案,尤其在SVG(Scalable Vector Graphics)在所有现代浏览器得到广泛支持之前。本教程将深入探讨如何利用这两种技术来构建...

    VML 画图 统计图、柱状图、饼图、折线图

    在"VML 画图 统计图、柱状图、饼图、折线图 Powered by MicroSystem_cn.mht"这个文件中,很可能是提供了一个使用VML实现这些图形的示例,包括具体的代码和展示效果。通过查看这个文件,你可以深入学习如何在不支持...

    ASP结合VML生成柱状图

    在这个场景下,"ASP结合VML生成柱状图"是指使用ASP来创建和展示基于VML(Vector Markup Language)的柱状图表。 VML是一种基于XML的矢量图形标记语言,允许在网页上绘制和显示复杂的图形,包括柱状图。在HTML文档中...

    javascript+ajax+vml折线图

    用javascript+ajax+vml生成折线图javascript类打包

    vml实现的柱状图 饼状图,很绚丽 饼状图

    vml实现的柱状图,饼状图,很绚丽,不需要其他东西支持,易用

    js+vml曲线图代码.rar

    以前发布过一个asp+vml曲线图代码,现在看到一个js+vml曲线图代码 &lt;HTML xmlns:v="urn:schemas-microsoft-com:vml"xmlns:o="urn:schemas-microsoft-com:office:office"&gt; &lt;meta http-equiv="Content-Type" content=...

Global site tag (gtag.js) - Google Analytics