创建简单的柱状和饼状统计图

None.gif using  System;
None.gif
using  System.Collections;
None.gif
using  System.ComponentModel;
None.gif
using  System.Data;
None.gif
using  System.Web;
None.gif
using  System.Web.SessionState;
None.gif
using  System.Web.UI;
None.gif
using  System.Web.UI.WebControls;
None.gif
using  System.Web.UI.HtmlControls;
None.gif
using  System.Drawing;
None.gif
using  System.Drawing.Imaging;
None.gif
namespace  aspCharts
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif    
/**//// <summary>
InBlock.gif    
/// Chart 的摘要说明。
ExpandedSubBlockEnd.gif    
/// </summary>

InBlock.gif    public partial class Chart : System.Web.UI.Page
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
protected void Page_Load(object sender, System.EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif
InBlock.gif            Graphics objGraphics;
//建立画板对象
InBlock.gif
            Bitmap objBitMap = new Bitmap(600,300);//建立位图对象
InBlock.gif
            objGraphics = Graphics.FromImage(objBitMap);//根据位图对象建立画板对象
InBlock.gif
            objGraphics.Clear(Color.White);//设置画板对象的背景色
ExpandedSubBlockStart.gifContractedSubBlock.gif
            int[] arrValues=dot.gif{0,0,0,0,0,0};//数据数组
InBlock.gif
            arrValues[0]=50;
InBlock.gif            arrValues[
1]=70;
InBlock.gif            arrValues[
2]=90;
InBlock.gif            arrValues[
3]=100;
InBlock.gif            arrValues[
4]=140;
InBlock.gif            arrValues[
5]=220;
ExpandedSubBlockStart.gifContractedSubBlock.gif            
string[] arrValueNames=dot.gif{"0","0","0","0","0","0"};//月份
InBlock.gif

InBlock.gif            arrValueNames[
0= "一月";
InBlock.gif            arrValueNames[
1]="二月";
InBlock.gif            arrValueNames[
2= "三月";
InBlock.gif            arrValueNames[
3]="四月";
InBlock.gif            arrValueNames[
4]="五月";
InBlock.gif            arrValueNames[
5]="六月";
InBlock.gif
InBlock.gif            objGraphics.DrawString(
"上半年销售情况统计",new Font("宋体",16),Brushes.Black,new PointF(0,0));
InBlock.gif
InBlock.gif            
//创建图例文字
InBlock.gif
            PointF symbolLeg = new PointF(335,20);
InBlock.gif            PointF descLeg 
= new PointF(360,16);
InBlock.gif
InBlock.gif            
//画出图例。利用objGraphics图形对象的三个方法画出图例:
InBlock.gif            
//FillRectangle()方法画出填充矩形,DrawRectangle()方法画出矩形的边框,
InBlock.gif            
//DrawString()方法画出说明文字。这三个图形对象的方法在 .NET 框架类库类库中均已重载,
InBlock.gif            
//可以很方便根据不同的参数来画出图形。
InBlock.gif

InBlock.gif            
for(int i=0;i<arrValueNames.Length;i++)//画出各个月的标示图形
ExpandedSubBlockStart.gifContractedSubBlock.gif
            dot.gif{
InBlock.gif                objGraphics.FillRectangle(
new SolidBrush(GetColor(i)),symbolLeg.X,symbolLeg.Y,20,10);
InBlock.gif
InBlock.gif                objGraphics.DrawRectangle(Pens.Black,symbolLeg.X,symbolLeg.Y,
20,10);
InBlock.gif
InBlock.gif                objGraphics.DrawString(arrValueNames[i].ToString(),
new Font("宋体",10),Brushes.Black,descLeg);
InBlock.gif
InBlock.gif                symbolLeg.Y 
+= 15;
InBlock.gif                descLeg.Y 
+= 15;
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            
for(int j = 0;j<arrValues.Length;j++)//画矩形图
ExpandedSubBlockStart.gifContractedSubBlock.gif
            dot.gif{
InBlock.gif                objGraphics.FillRectangle(
new SolidBrush(GetColor(j)),(j*35)+15,200-arrValues[j],20,arrValues[j]+5);
InBlock.gif                objGraphics.DrawRectangle(Pens.Black,(j
*35)+15,200-arrValues[j],20,arrValues[j]+5);
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            
float sglCurrentAngle;
InBlock.gif            
float sglTotalAngle=0;
InBlock.gif
InBlock.gif            
for(int a=0;a<arrValues.Length-1;a++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                sglTotalAngle 
+= arrValues[a];//取得数据总量
ExpandedSubBlockEnd.gif
            }

InBlock.gif
InBlock.gif            
for(int b=0;b<arrValues.Length;b++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                sglCurrentAngle 
= arrValues[b]/sglTotalAngle*360;//求出该数据所占总数据的百分比
InBlock.gif
                objGraphics.FillPie(new SolidBrush(GetColor(b)),220,95,100,100,sglTotalAngle,sglCurrentAngle);//画出椭圆
InBlock.gif
                sglTotalAngle+=sglCurrentAngle;
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            objBitMap.Save(Response.OutputStream,ImageFormat.Gif);
//该位图对象以"GIF"格式输出
InBlock.gif

InBlock.gif
ExpandedSubBlockEnd.gif        }

InBlock.gif
InBlock.gif        
private Color GetColor(int itemIndex)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            Color objColor 
= new Color();
InBlock.gif            
switch(itemIndex)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
case 0:
InBlock.gif                    objColor 
= Color.Blue;
InBlock.gif                    
break;
InBlock.gif                
case 1:
InBlock.gif                    objColor 
= Color.Yellow;
InBlock.gif                    
break;
InBlock.gif                
case 2:
InBlock.gif                    objColor 
= Color.Red;
InBlock.gif                    
break;
InBlock.gif                
case 3:
InBlock.gif                    objColor 
= Color.Orange;
InBlock.gif                    
break;
InBlock.gif                
case 4:
InBlock.gif                    objColor 
= Color.Purple;
InBlock.gif                    
break;
InBlock.gif                
case 5:
InBlock.gif                    objColor 
= Color.Brown;
InBlock.gif                    
break;
InBlock.gif                
case 6:
InBlock.gif                
InBlock.gif                
default:
InBlock.gif                    objColor 
= Color.Blue;
InBlock.gif                    
break;
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            
return objColor;
ExpandedSubBlockEnd.gif        }

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
InBlock.gif        
override protected void OnInit(EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
//
InBlock.gif            
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
InBlock.gif            
//
InBlock.gif
            InitializeComponent();
InBlock.gif            
base.OnInit(e);
ExpandedSubBlockEnd.gif        }

InBlock.gif        
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**//// <summary>
InBlock.gif        
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
InBlock.gif        
/// 此方法的内容。
ExpandedSubBlockEnd.gif        
/// </summary>

InBlock.gif        private void InitializeComponent()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{    
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif        
#endregion

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif
ExpandedBlockStart.gif ContractedBlock.gif <% dot.gif @ Page language="c#" Inherits="aspCharts.Chart" CodeFile="Chart.aspx.cs"  %>
None.gif
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
None.gif
< HTML >
None.gif    
< HEAD >
None.gif        
< title > Chart </ title >
None.gif        
< meta  name ="GENERATOR"  Content ="Microsoft Visual Studio .NET 7.1" >
None.gif        
< meta  name ="CODE_LANGUAGE"  Content ="C#" >
None.gif        
< meta  name ="vs_defaultClientScript"  content ="JavaScript" >
None.gif        
< meta  name ="vs_targetSchema"  content ="http://schemas.microsoft.com/intellisense/ie5" >
None.gif    
</ HEAD >
None.gif    
< body >
None.gif        
< form  id ="Form1"  method ="post"  runat ="server" >
None.gif            
< FONT  face ="宋体" ></ FONT >
None.gif        
</ form >
None.gif    
</ body >
None.gif
</ HTML >
None.gif

转载于:https://www.cnblogs.com/caviare/archive/2006/12/28/606283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值