ASP用csDrawGraph组件制作饼图、柱状图

作者:冬无秋 来源:CSDN 时间:2008-04-25 22:58:00 

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

CsDrawGraph组件本地下载地址:csdgt.rar (514.20 KB)

看看如下的柱状图,饼图如何生成的例子:


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
%>

 


结果如图所示:


标签:柱状图,饼图,图形,asp
0
投稿

猜你喜欢

  • 改善登陆界面的用户体验: 自动聚焦表单

    2009-12-09 16:13:00
  • 在ASP中使用SQL语句之7:ORDER BY

    2007-08-11 12:51:00
  • 设计可以量化吗?

    2009-06-12 12:12:00
  • 学用代码片段

    2011-09-06 19:37:35
  • position、z-index、top、right、bottom和left属性

    2009-10-04 20:33:00
  • 按钮表状态还是表动作?

    2009-03-23 18:21:00
  • SQL Server 对表的主键设计问题及解决办法

    2010-06-07 13:29:00
  • CSS文字排版终极指南

    2010-01-19 10:30:00
  • 在ASP中使用SQL语句之1:SELECT 语句

    2007-08-11 12:18:00
  • 最简洁的asp多重查询的解决方案

    2011-04-15 10:50:00
  • IE6终极备忘单——对IE6单独兼容[译]

    2010-01-21 18:34:00
  • taobao cdn的缓存?

    2009-09-19 17:21:00
  • ASP程序实现过滤脏话代码

    2008-03-19 12:07:00
  • ASP、PHP与javascript根据时段切换CSS皮肤的代码

    2008-09-01 17:26:00
  • 随滚动条移动的DIV层js代码

    2007-10-10 12:51:00
  • 网页版权的正确写法

    2007-09-22 09:13:00
  • js小方框中浏览大图类似google earth效果

    2007-10-28 19:30:00
  • 使用jQuery简化Ajax开发

    2010-04-11 21:09:00
  • asp模块化分页源码

    2008-04-13 07:02:00
  • mysql 存储过程 使用小结

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