|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
<SCRIPT 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 don\\\'t 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=\\\'chart.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 tablestring = tablestring & " " tablestring = tablestring & stuff for count = 0 to round((maxlength - len(stuff))/2) tablestring = tablestring & " " next tablestring = tablestring & " </TD>" & vbCrLf next tablestring = tablestring & "</TABLE></td></tr></table>" & vbCrLf makechart = tablestring else Response.Write "Error Function Makechart: maxwidth and maxlength have to be greater " & _ " then 0 or number of labels not equal to number of values" end if end function dim stuff dim labelstuff \\\' Demo 1 stuff = Array(5,30) labelstuff = Array("北京", "广州") Response.Write makechart("Demo 1", stuff, labelstuff, null, "gold",10, 50,40,true) </SCRIPT> 返回类别: 教程 上一教程: 正则表达式简介(4) 下一教程: 用ASP、VB和XML建立互联网应用程序(3) 您可以阅读与"用ASP生成CHART"相关的教程: · ASP动态生成的JAVASCRIPT表单验证代码 · 不能ASP图像组件来生成图像的ASP计数器程序(三) · 用CANVAS做的ASP无组件生成图片验证码 · 不能ASP图像组件来生成图像的ASP计数器程序(二) · 将ASP生成的内容写入响应流中最有效的方式 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |