当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP制作饼图、柱状图等

ASP
ASP编程菜鸟易犯的一个错误
ASP申请单动态添加实现方法及代码
经验总结:ASP与存储过程解析
学以致用 驳“ASP低能论”
使用ASP脚本技术
ASP、Request对象与SQL注入
判断访问是否来自搜索引擎的ASP函数
ASP判断数据库值是否为空的通用函数
大刀阔斧扔掉ASP,充分准备学习ASP.NET
关于创建多级文件夹的ASP函数实例
ASP正则判断取出HTML的图片地址的函数
网页不存在自动给管理员发邮件的ASP代码
ASP教程:等差数列和等比数列通项公式
Recordset对象和Command对象的区别
Filter与updatebatch混合使用实现批量更新
ASP实例:检测整数和长整数的函数
在不支持FSO的服务器上使用XMLDOM创建HTML文件
汉字转拼音ASP函数
网页输出N行N列表格的ASP实现方法
ASP操作数据库的类

用ASP制作饼图、柱状图等


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

我们工作中经常需要将数据转化成柱状图,饼图等,以方便直观的分析数据, 这里给大家介绍一个ASP中制作饼图、柱状图的组件:csDrawGraph,csdgt.zip,因为是组件,所以我们在使用之前需要用REGSVR32.EXE 注册一下,csDrawGraph,可以在ASP中创建饼图,柱状图以及线图,其支持的格式有GIF, PNG, JPG and BMP.

chartdemo.asp

以下为引用的内容:
<%@ language=vbscript %>
<html>
<head>
<title>csDrawGraph Demonstration</title>
</head>
<body bgcolor="#FFFFFF">
<P>This simple demonstration shows two graphs using the same data. The first is
  a bar chart:</P>
<P align="center"><IMG src="chartimages.asp?Type=Bar" width="400" height="300">
</P>
<P align="left">The second is a pie chart. The background colour is set to light
  grey to show the overall size of the image.</P>
<P align="center"><IMG src="chartimages.asp?Type=Pie" width="400" height="300">
</P>
</body>
</html>

chartimages.asp

以下为引用的内容:

<%@ language=vbscript %>

<%
  Response.Expires = 0
  Response.Buffer = true
  Response.Clear 
  Response.ContentType = "Image/Gif"

  Set Chart = Server.CreateObject("csDrawGraphTrial.Draw")


  Chart.AddData "NO> 1", 17, "ff0000"
  Chart.AddData "NO> 2", 28, "00ff00"
  Chart.AddData "NO> 3", 5, "0000ff"

  If Request.QueryString("Type") = "Pie" Then
    Chart.Title = "Sample Pie Chart"
    Chart.BGColor = "eeeeee"
    Chart.LabelBGColor = "eeeeee"
    Chart.TitleBGColor = "eeeeee"
    Response.BinaryWrite Chart.GifPie
  Else
    Chart.Title = "Sample Bar Chart"
    Response.BinaryWrite Chart.GifBar
  End If

  Response.End
%>

程序很简单,再些不详细说明,下面看一个将数据库中的数据转换到图表的例子:

lines.asp:

以下为引用的内容:

<html>
<head>
<title>Line graph showing all the results</title>

</head>

<body>
<table align=center width=400>
  <tr><td colspan=4><img src="gif_lines.asp"  width=400 height=300></td></tr>
</table>
<p>Links to the other result pages:</p>
<p><a href=barsbyday.asp>Bar chart showing all results for any one day</a>.</p>
<p><a href=barsbycolour.asp>Bar charts showing results for each colour separately</a>.</p>
</body>
</html>


gif_lines.asp:

以下为引用的内容:
<%@ language=vbscript %>
<%
  '利用数据库中的数据生成线图。
  '根据4个不同的值分别生成4条线。
  '在X轴上显示星期的名称。

  Response.Expires = 0
  Response.Buffer = true
  Response.Clear

  '利用下面的语句创建chart对象,版本不同会有所差异。
  'Set Chart = Server.CreateObject("csDrawGraph.Draw")
  Set Chart = Server.CreateObject("csDrawGraphTrial.Draw")

  ConnectionString = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & _
    Server.Mappath("data.mdb")
  Set DBConn = Server.CreateObject("ADODB.Connection")
  DBConn.Open ConnectionString
  Set RS = Server.CreateObject("ADODB.Recordset")
  SQL = "SELECT * FROM Table1 ORDER BY Day"
  RS.Open SQL, DBConn

    While Not RS.Eof
      Chart.AddPoint CInt(RS("Day")), CInt(RS("Red")), "ff0000", "Red"
      Chart.AddPoint CInt(RS("Day")), CInt(RS("Blue")), "0000ff", "Blue"
      Chart.AddPoint CInt(RS("Day")), CInt(RS("Green")), "00ff00", "Green"
      Chart.AddPoint CInt(RS("Day")), CInt(RS("Yellow")), "ffff00", "Yellow"
      Chart.AddXValue CInt(RS("Day")), RS("DayName")
      RS.MoveNext
    Wend

  '关闭数据库连接
  RS.Close
  DBConn.Close

  '下面设置组件属性
  'X轴坐标从1开始而不是0。(XOffset = 1)

  Chart.Title = "All the combined results"
  Chart.TitleX = 100
  Chart.YAxisText = "Total for each day"
  Chart.OriginY = 220
  Chart.XOffset = 1
  Chart.XTop = 7
  Chart.XGrad = 1
  Chart.UseXAxisLabels = true
  Chart.LineWidth = 2
  Chart.PointSize = 3
  Chart.PointStyle = 1

  '最后图片以GIF格式发送到浏览器
  Response.ContentType = "image/gif"
  Response.BinaryWrite Chart.GIFLine
  Response.End
%>