ASP.Net生成业务数据的统计图形

asp.net|数据|统计|图形

    在使用Excel处理报表时候,往往要利用系统带的图表工具生成比例示意图,不仅直观,又显专业。当然,在Web应用程序中,也可以使用Office Web Components 功能,但是却很复杂。在.NET框架下,通过简单的编程,就可以轻松地做出地道的比例示意图。在使用GDI+作图的时候,除了要熟练应用.NET提供的类外,还要从整体上把握图形生成的坐标。在GDI+里,最左上角的坐标为(0,0),最右下角的做标值最大。
  本节我们将通过GID+绘制图形。便于实例模拟,我们采用数组数据来模拟公司业务数据。

  新建一个Web窗体,命名为GDI_Sample2.aspx,逻辑代码如下:

  '-----code begin-----

  Imports System.Drawing

  Imports System.Drawing.Bitmap

  Imports System.Drawing.Graphics

  Imports System.Drawing.Imaging

  Public Class GDI_Sample4

  Inherits System.Web.UI.Page

  #Region " Web 窗体设计器生成的代码 "

  '此处省略窗体设计器生成的代码

  #End Region

  '定义公共数组变量,用来存放模拟公司销售额数据

  Public data(5, 1) As String

  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

  '在此处放置初始化页的用户代码

  Dim i As Int16

  Dim objbitmap As Bitmap

  objbitmap = New Bitmap(400, 300)

  '声明Graphics对象

  Dim objGraphics As Graphics

  '指定画布

  objGraphics = Graphics.FromImage(objbitmap)

  '设置背景色为白色

  objGraphics.Clear(Color.White)

  '画出图形边框,注意留出划线的空间,为一个象素

  objGraphics.DrawRectangle(Pens.Black, 1, 1, 398, 298)

  '生成表头文字

  objGraphics.DrawString("本公司上半年营业额统计图", New Font("宋体", 16, FontStyle.Bold), Brushes.Black, New PointF(60, 5))

  '获取模拟数据

  getdata()

  Dim monthcolor As PointF = New PointF(260, 40)

  Dim fontinfor As PointF = New PointF(285, 36)

  '画出示意颜色图例

  For i = 0 To 5

  '画出填充矩形。

  objGraphics.FillRectangle(New SolidBrush(getcolor(i)), monthcolor.X, monthcolor.Y, 20, 10)

  '画出矩形边框。

  objGraphics.DrawRectangle(Pens.Black, monthcolor.X, monthcolor.Y, 20, 10)

  '画出图例说明文字--data(i, 0)

  objGraphics.DrawString(data(i, 0), New Font("宋体", 10), Brushes.Black, fontinfor)

  '移动坐标位置,只移动Y方向的值即可。

  monthcolor.Y += 15

  fontinfor.Y += 15

  Next i

  '遍历数据源的每一项数据,并根据数据的大小画出矩形图(即柱形图的柱)。

  For i = 0 To 5

  '画出填充矩形。

  objGraphics.FillRectangle(New SolidBrush(getcolor(i)), (i * 25) + 35, 270 - CInt(data(i, 1)), 15, CInt(data(i, 1)))

  '画出矩形边框线。

  objGraphics.DrawRectangle(Pens.Black, (i * 25) + 35, 270 - CInt(data(i, 1)), 15, CInt(data(i, 1)))

  Next

  '画出示意坐标

  objGraphics.DrawLine(New Pen(Color.Blue, 1), 10, 0, 10, 320)

  objGraphics.DrawLine(New Pen(Color.Blue, 1), 10, 270, 200, 270)

  '在示意坐标上添加数值标志,注意坐标的计算

  For i = 0 To 5

  objGraphics.DrawLine(New Pen(Color.Blue, 1), 10, i * 50 + 20, 20, i * 50 + 20)

  objGraphics.DrawString((250 - i * 50).ToString, New Font("宋体", 10), Brushes.Black, 12, i * 50 + 8)

  Next

  ' 统计总销售额

  Dim scount As Integer

  For i = 0 To 5

  scount += CInt(data(i, 1))

  Next

  '定义画出扇形角度变量

  Dim scg As Single = 0

  Dim stg As Single = 0

  For i = 0 To 5

  '计算当前角度值:当月销售额 / 总销售额 * 360,得到饼图中当月所占的角度大小。

  scg = CInt(data(i, 1)) / scount * 360

[1] [2] 下一页  

时间: 2024-12-26 22:48:52

ASP.Net生成业务数据的统计图形的相关文章

asp.net生成数据饼图实现代码

在实现数据Pie图之前,首先要确保在C盘的根目录存在"db.mdb"数据库,并且此数据库已经设定完毕,并且存在<在ASP.NET页面中实现数据棒图>一文中的数据.下面是ASP.NET实现数据Pie图的具体步骤,开发工具使用的是Visual Studio .Net,采用的是C#语言. 1. 启动Visual Studio .Net. 2. 选择菜单[文件]|[新建]|[项目]后,弹出[新建项目]对话框. 3. 将[项目类型]设置为[Visual C#项目]. 4. 将[模板]

如何用ASP生成XML数据文档

一.必须弄清楚最终需要的是什么 我们通过asp或其他动态编程语言,最终需要的是XML格式的数据,这点和XML数据所在的文件载体无关,它可以是实实在在的XML文件,比如:http://www.dw8.cn/common/dw8.xml .也可以为asp文档,比如:http://www.cnbruce.com/blog/rss2.asp 他们都是XML数据的体现,为了实现XML数据的动态,所以需要使用到动态编程语言,比如ASP来实现生成它. 二.如何生成动态的XML文档 如果是生成XML文件,介于动

如何用ASP生成XML数据文档(RSS订阅)

rss|xml|生成xml|数据 一.必须弄清楚最终需要的是什么 我们通过asp或其他动态编程语言,最终需要的是XML格式的数据,这点和XML数据所在的文件载体无关,它可以是实实在在的XML文件,比如:http://www.xrss.cn/WebRss.Asp.也可以为asp文档,比如:http://www.xrss.cn/WebRss.Asp?SortId=5 他们都是XML数据的体现,为了实现XML数据的动态,所以需要使用到动态编程语言,比如ASP来实现生成它. 二.如何生成动态的XML文档

ASP.NET 2.0数据教程之十五:在GridView的页脚中显示统计信息

返回"ASP.NET 2.0数据教程目录" 导言 除了需要了解产品的单价.库存量和订货量,并按等级排序之外,用 户可能还对统计信息感兴趣,比如说平均价格.库存总量等等.这些统计信息常 常显示在报表最下面的一个统计行中.GridView控件可以含有一个页脚行,我们 可以通过编程将统计数据插入到它的单元格里面去. 这个任务给了我们以 下3个挑战: 1.配置GridView以显示它的页脚行 2.确 定统计数据.即我们应该如何计算平均价格还有库存总量? 3.将统 计信息插入到页脚行的相应的单元

Scott Mitchell的ASP.NET 2.0数据教程之二:创建一个业务逻辑层

返回"ASP.NET 2.0数据教程目录" 导言 本教程的第一节所描述的数据访问层(Data Access Layer,以下 简称为DAL)已经清晰地将表示逻辑与数据访问逻辑区分开了.不过,即使DAL将 数据访问的细节从表示层中分离出来了,可它却不能处理任何的业务规则.比如 说,我们可能不希望产品表中那些被标记为"停用"的产品的" 分类编号"或"供应商编号"被更新:我们还可能需要应用一些 资历规则,比如说我们都不希望被比自己的

ASP生成XML数据文档

一.必须弄清楚最终需要的是什么      我们通过asp或其他动态编程语言,最终需要的是XML格式的数据,这点和XML数据所在的文件载体无关,它可以是实实在在的XML文件,比如:/rss_1.xml .也可以为asp文档,比如:/rss.asp?id=42      他们都是XML数据的体现,为了实现XML数据的动态,所以需要使用到动态编程语言,比如ASP来实现生成它.      二.如何生成动态的XML文档      如果是生成XML文件,介于动态文档是ASP格式的,所以必须借助FSO进行XM

ASP.NET 2.0数据教程之二:创建一个业务逻辑层

本系列文章导航 ASP.NET 2.0数据教程之一:创建一个数据访问层 ASP.NET 2.0数据教程之二:创建一个业务逻辑层 ASP.NET 2.0数据教程之三:母板页和站点导航 ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据 ASP.NET 2.0数据教程之五:声明参数 ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值 ASP.NET 2.0数据教程之七:使用DropDownList过滤的主/从报表 ASP.NET 2.0

ASP.NET生成图形验证码的方法详解_实用技巧

本文实例讲述了ASP.NET生成图形验证码的方法.分享给大家供大家参考,具体如下: 通常生成一个图形验证码主要 有3个步骤: (1)随机产生一个长度为N的随机字符串,N的值可由开发可由开发人员自行设置.该字符串可以包含数字.字母等. (2)将随机生成的字符串创建成图片,并显示. (3)保存验证码. 新建一个页面为default.aspx,  放置一个TextBox控件和一个Image控件,TextBox控件用于输入生成的字符串,Image控件用于显示字符串,它的图片就为生成的图形验证码image

Scott Mitchell的ASP.NET 2.0数据教程之一 创建一个数据访问层

返回"ASP.NET 2.0数据教程目录" 导言 作为web开发人员,我们的生活围绕着数据操作.我们建立数据库 来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据.本文是研 究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇 .我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的 DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL), 以及一个由共享页面布局的ASP.NET网页组成的表现层.在打