asp如何将数字转化成条形图?

来源:asp之家 时间:2009-12-03 20:19:00 

见下,把数字转成条形图、条形码的一个程序:

<%
Sub ShowChart(ByRef aValues, ByRef aLabels, ByRef strTitle, ByRef strXAxisLabel, ByRef strYAxisLabel)
      ' 定义图形常量
      Const GRAPH_WIDTH  = 450 
' 以屏幕分辨率为单位, GRAPH_WIDTH为图形宽度
      Const GRAPH_HEIGHT = 250 
 ' 图形高度
      Const GRAPH_BORDER = 5   
 ' 黑边宽度      
Const GRAPH_SPACER = 2    
' 图形两栏之间的空间
      Const TABLE_BORDER = 0
      'Const TABLE_BORDER = 10
      Dim I
      Dim iMaxValue
      Dim iBarWidth
      Dim iBarHeight
      ' 声明变量
      iMaxValue = 0
      For I = 0 To UBound(aValues)
            If iMaxValue < aValues(I) Then iMaxValue = aValues
(I)     
  ' 得到数据组的最大值
      Next 'I
      ' Response.Write iMaxValue 

       iBarWidth = (GRAPH_WIDTH \ (UBound(aValues) + 1)) - 
GRAPH_SPACER
' 计算栏的宽度,把全宽用每一段的数目表示,不足一段向下舍入
      'Response.Write iBarWidth 
      ' 下面开始画图形
      %>
      <TABLE BORDER="<%= TABLE_BORDER %>" CELLSPACING="0" CELLPADDING="0">
            <TR>
            <TD COLSPAN="3" ALIGN="center"><H2><%= strTitle %></H2></TD>
            </TR>
            <TR>
                  <TD VALIGN="center"><B><%= strYAxisLabel %></B></TD>
                  <TD VALIGN="top">
                <TABLE BORDER="<%= TABLE_BORDER %>" CELLSPACING="0" CELLPADDING="0">
                   <TR>
               <TD ROWSPAN="2"><IMG SRC="./images/spacer.gif" BORDER="0" WIDTH="1" 
HEIGHT="<%= GRAPH_HEIGHT %>"></TD>
                   <TD VALIGN="top" ALIGN="right"><%= iMaxValue %>&nbsp;</TD>
                   </TR>
                   <TR>
                   <TD VALIGN="bottom" ALIGN="right">0&nbsp;</TD>
                   </TR>
                   </TABLE>
                   </TD>
                   <TD>
                   <TABLE BORDER="<%= TABLE_BORDER %>" CELLSPACING="0" CELLPADDING="0">
                   <TR>
                 <TD VALIGN="bottom">
<IMG SRC="./images/spacer_black.gif" BORDER="0" WIDTH="<%= GRAPH_BORDER %>" HEIGHT="<%= GRAPH_HEIGHT %>"></TD>
                   <% 
   For I = 0 To UBound(aValues)
                 iBarHeight = Int((aValues(I) / iMaxValue) * GRAPH_HEIGHT)
                   If iBarHeight = 0 Then iBarHeight = 1
                   %>
                 <TD VALIGN="bottom"><IMG SRC="./images/spacer.gif" BORDER="0" WIDTH="<%= GRAPH_SPACER %>" HEIGHT="1"></TD>
              <TD VALIGN="bottom"><IMG SRC="./images/spacer_red.gif" BORDER="0" WIDTH="<%= iBarWidth %>" HEIGHT="<%= iBarHeight %>" ALT="<%= aValues
(I) %>"></A></TD>
                 <%
                 Next 'I
                 %>
                 </TR>
                 <TR>
              <TD COLSPAN="<%= (2 * (UBound(aValues) + 1)) + 1 %>"><IMG SRC="./images/spacer_black.gif" BORDER="0" WIDTH="<%= GRAPH_BORDER + ((UBound(aValues) + 1) * (iBarWidth + GRAPH_SPACER)) %>" HEIGHT="<%= GRAPH_BORDER %>"></TD>
                 </TR>
                 <% If IsArray(aLabels) Then %>
                 <TR>
                 <TD>栏左边框间距</TD>
                 <% For I = 0 To UBound(aValues)  %>
                 <TD 
ALIGN="center"><FONT SIZE="1"><%= aLabels(I) %></FONT></TD>
                 <% Next 'I %>;
                 </TR>
                 <% End If %>
 </TABLE>
  </TD>
</TR>
               <TR>
                 <TD COLSPAN="2">
                 <TD ALIGN="center"><BR><B><%= strXAxisLabel %></B></TD>
' 设置坐标中心
               </TR>
    </TABLE>
<%
End Sub
%>
<%
' Static Chart (with Bar Labels)
ShowChart Array(6, 10, 12, 18, 23, 26, 27, 28, 30, 34, 37, 45, 55), 
Array
("P1", "P2", "P3", "P4", "P5", "P6", "P7", "P8", "P9", "P10", "P11", "
P12", "P13"), "Chart Title", "X Label", "Y Label"
Response.Write "<BR>" & vbCrLf
Response.Write "<BR>" & vbCrLf
Response.Write "<BR>" & vbCrLf
' 间距
Dim I
Dim aTemp(49)
' 随机数表示
Randomize
For I = 0 to 49
      aTemp(I) = Int((50 + 1) * Rnd)
Next 'I
' 利用随机数生成统计图
ShowChart aTemp, , "Chart of 50 Random Numbers", "Index", "Value"
%>

标签:数字,条形码,条形图
0
投稿

猜你喜欢

  • 设计高效的faq页面

    2011-06-10 13:13:00
  • 关于基于字体大小(em)的设计

    2008-06-17 15:01:00
  • Javascript fso操作文件

    2008-07-30 12:51:00
  • 如何把IP表存到SQL数据库里去?

    2009-11-02 20:21:00
  • Script 元素 type 属性的妙用

    2011-03-07 16:13:00
  • SQL Server小知识:Processor Affinity

    2008-11-24 20:50:00
  • javascript封装的下拉导航菜单渐显效果

    2007-08-04 20:11:00
  • 百万级asp分页存储过程代码(ver2.0)

    2007-12-17 13:13:00
  • SQL Server 2000里的数据类型

    2011-06-11 14:07:00
  • 不用为美化select烦恼模仿combox(select)控件

    2007-08-04 21:08:00
  • ASP 禁用清除页面缓存

    2008-07-21 12:43:00
  • 成为一个顶级设计师的第三准则

    2009-09-15 21:00:00
  • Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页

    2009-03-04 10:56:00
  • 手机版远程网站文件删除ASP程序

    2009-02-24 16:23:00
  • 浏览器是怎样工作的二:渲染引擎 HTML解析

    2012-05-09 20:34:20
  • ASP应用:用stream读文件

    2007-09-24 13:33:00
  • SQL Server 总结复习(一)

    2012-10-07 11:04:02
  • js求一组数中的最大数

    2008-04-10 12:00:00
  • 最大限度优化你的Asp性能

    2007-10-01 18:04:00
  • 去掉CSS赘余代码,CSS可以更简洁

    2008-11-05 13:07:00
  • asp之家 网络编程 m.aspxhome.com