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
投稿

猜你喜欢

  • virtualenv介绍及简明教程

    2023-07-04 08:46:33
  • SQL实现LeetCode(185.系里前三高薪水)

    2024-01-18 19:12:22
  • Python seek()和tell()函数的具体使用

    2023-12-07 20:59:39
  • 如何利用python正确地为图像添加高斯噪声

    2023-08-03 08:26:22
  • 带你轻松接触 MySQL中损坏的MyISAM表

    2008-12-19 17:55:00
  • 微信小程序实现2048小游戏的详细过程

    2024-04-23 09:11:18
  • JavaScript+Node.js写一款markdown解析器

    2024-04-18 09:36:06
  • python实现矩阵乘法

    2023-11-03 07:41:10
  • django框架使用orm实现批量更新数据的方法

    2023-08-11 04:48:25
  • CentOS 7 安装python3.7.1的方法及注意事项

    2023-03-10 21:23:53
  • node.js用fs.rename强制重命名或移动文件夹的方法

    2024-05-13 10:05:37
  • pandas 根据列的值选取所有行的示例

    2023-10-13 16:19:38
  • Python3.x爬虫下载网页图片的实例讲解

    2022-11-25 23:24:07
  • Python实现将目录中TXT合并成一个大TXT文件的方法

    2023-02-11 18:38:12
  • Golang 函数执行时间统计装饰器的一个实现详解

    2024-05-09 09:46:22
  • Asp函数介紹(37个常用函数)

    2011-04-11 11:06:00
  • go doudou开发gRPC服务快速上手实现详解

    2024-05-05 09:33:11
  • python 画函数曲线示例

    2022-09-05 03:29:24
  • PHP基础知识详细讲解

    2023-06-03 15:41:45
  • MySQL 数据编码 latin1 转 UTF8

    2010-10-14 14:20:00
  • asp之家 网络编程 m.aspxhome.com