当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP生成Chart

ASP
开辟一条自由ASP快车道
用XML结合数据库,给服务器减负。
纯编码实现数据库的建立或压缩
多个表单和多个图片一起上传完美解决方案
列表项可上下移动的Multiple列表
模拟QQ的下拉列表选择图象
利用FSO取得BMP,JPG,PNG,GIF文件信息(大小,宽、高等)
二级域名原理以及程序,申请即可开通.
利用ASP+XML架设在线考试系统
ASP项目中的通用条件查询模块
一个为字符串中的网址加上链接的程序例子
用Agent+ASP技术制作语音聊天室
多表单域无组件文件上传的例子
使用xmlhttp为网站增加股市行情查询功能
用ASP开发WEB日期选择器
javascript+HTML仿造VB里的MonthView控件
使用xmlHttp结合ASP,实现网页的异步调用
调用DirectX的组件实现的时钟
在ASP页里面注册DLL的VBScript CLASS
ASP程序界面的多语言支持

用ASP生成Chart


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 99 ::
收藏到网摘: n/a

糞CRIPT LANGUAGE="VBScript" RUNAT="SERVER">
function makechart(title, numarray, labelarray, color, bgcolor, bordersize, maxheight, maxwidth, addvalues)
Function makechart version 3

Jason Borovoy
title: Chart Title
numarray: An array of values for the chart
labelarray: An array of labels coresponding to the values must me present
color If null uses different colors for bars if not null all bars color you specify
bgcolor Background color.
bordersize: border size or 0 for no border.
maxheight: maximum height for chart not including labels
maxwidth: width of each column
addvalues: true or false depending if you want the actual values shown on the chart
when you call the function use : response.write makechart(parameters)

actually returnstring would be a better name
dim tablestring
max value is maximum table value
dim max
maxlength maximum length of labels
dim maxlength
dim tempnumarray
dim templabelarray
dim heightarray
Dim colorarray
value to multiplie chart values by to get relitive size
Dim multiplier
if data valid
if maxheight > 0 and maxwidth > 0 and ubound(labelarray) = ubound(numarray) then
colorarray: color of each bars if more bars then colors loop through
if you dont like my choices change them, add them, delete them.
colorarray = array("red","blue","yellow","navy","orange","purple","green")
templabelarray = labelarray
tempnumarray = numarray
heightarray = array()
max = 0
maxlength = 0
tablestring = "<TABLE bgcolor=" & bgcolor & " border=" & bordersize & ">" & _
"<tr><td><TABLE border=0 cellspacing=1 cellpadding=0>" & vbCrLf
get maximum value
for each stuff in tempnumarray
if stuff > max then max = stuff end if
next
calculate multiplier
multiplier = maxheight/max > populate array
for counter = 0 to ubound(tempnumarray)
if tempnumarray(counter) = max then
redim preserve heightarray(counter)
heightarray(counter) = maxheight
else
redim preserve heightarray(counter)
heightarray(counter) = tempnumarray(counter) * multiplier
end if
next


set title
tablestring = tablestring & "<TR><TH colspan=" & ubound(tempnumarray)+1 & ">" & _
"<FONT FACE=Verdana, Arial, Helvetica SIZE=1><U>" & title & "</TH></TR>" & _
vbCrLf & "<TR>" & vbCrLf
loop through values
for counter = 0 to ubound(tempnumarray)
tablestring = tablestring & vbTab & "<TD valign=bottom align=center >" & _
"<FONT FACE=Verdana, Arial, Helvetica SIZE=1>" & _
"<table border=0 cellpadding=0 width=" & maxwidth & "><tr>" & _
"<tr><td valign=bottom bgcolor="
if not isNUll(color) then
if color present use that color for bars
tablestring = tablestring & color
else
if not loop through colorarray
tablestring = tablestring & colorarray(counter mod (ubound(colorarray)+1))
end if
tablestring = tablestring & " height=" & _
round(heightarray(counter),2) & "><img src="/upload/tech/20091103/20091103094111_3dc4876f3f08201c7c76cb71fa1da439.gif" width=1 height=1>" & _
"</td></tr></table>"
if addvalues then
print actual values
tablestring = tablestring & "<BR>" & tempnumarray(counter)
end if
tablestring = tablestring & "</TD>" & vbCrLf
next

tablestring = tablestring & "</TR>" & vbCrLf
calculate max lenght of labels
for each stuff in labelarray
if len(stuff) >= maxlength then maxlength = len(stuff)
next
print labels and set each to maxlength
for each stuff in labelarray
tablestring = tablestring & vbTab & "<TD align=center><" & _
"FONT FACE=Verdana, Arial, Helvetica SIZE=1><B> "
for count = 0 to round((maxlength - len(stuff))/2)
tablestring = tablestring & " "
next
if maxlength mod 2 <> 0 then tab