.net之生成图表的控件(柱状图,曲线图,饼状图)

  近来项目中需要用饼状图表示一些东东,我才想起来,曾经我还改过一个生成图表的控件,翻开电脑找了半天终于找到了,幸亏上次格盘时保存了下来,他可以生成柱状图,曲线图,饼状图,只要你给他一个datatable,在这声明一下这个控件源码是我从网上找的,然后自己又改了30%的代码,优化了一下,现在就与大家分享一下这个控件的源码

.net之生成图表的控件(柱状图,曲线图,饼状图)using System;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Web.UI;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Data;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Web.UI.WebControls;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Drawing;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Drawing.Imaging;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.IO;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Web;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.ComponentModel;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Collections;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
namespace hya.Control
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)    
/**//// <summary>
.net之生成图表的控件(柱状图,曲线图,饼状图)    
///    柱状图控件
.net之生成图表的控件(柱状图,曲线图,饼状图)    
///    需要传入列表项名,值,超级连接地址
.net之生成图表的控件(柱状图,曲线图,饼状图)    
/// </summary>

.net之生成图表的控件(柱状图,曲线图,饼状图)    [ToolboxData("<{0}:Columniation runat=server></{0}:Columniation>")]
.net之生成图表的控件(柱状图,曲线图,饼状图)    
public class Columniation : System.Web.UI.WebControls.WebControl
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)    
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private const int _colorLimit = 12;  //颜色列表
.net之生成图表的控件(柱状图,曲线图,饼状图)
        private Color[] _color = 
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)   
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.Chocolate,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.YellowGreen,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.Olive,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.DarkKhaki,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.Sienna,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.PaleGoldenrod,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.Peru,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.Tan,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.Khaki,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.DarkGoldenrod,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.Maroon,
.net之生成图表的控件(柱状图,曲线图,饼状图)    Color.OliveDrab
.net之生成图表的控件(柱状图,曲线图,饼状图)   }
;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private DataTable items;//列表项名称和值
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private string text = "数据";
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private string datastd = "标准值";
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private string data = "实时数据";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
int kds = 10//刻度数
.net之生成图表的控件(柱状图,曲线图,饼状图)
        float kddw = 100;  //没刻度大小
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)        
int zmheight = 500//真个图区高
.net之生成图表的控件(柱状图,曲线图,饼状图)
        int zmwidth = 740;  //真个图区宽
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)        
int height = 400;//呈现区高
.net之生成图表的控件(柱状图,曲线图,饼状图)
        int width = 730;
.net之生成图表的控件(柱状图,曲线图,饼状图)        
int cxtop = 30;//呈现区距顶距离
.net之生成图表的控件(柱状图,曲线图,饼状图)
        int cxleft = 30;//呈现区左边距离
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)        Color bzlink 
= Color.Black;//标准线颜色
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
int Chart_Flag = 1;
.net之生成图表的控件(柱状图,曲线图,饼状图)        Bitmap bm;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
int Displacement = 0//获取负坐标刻度数
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        [Bindable(
true),
.net之生成图表的控件(柱状图,曲线图,饼状图)        Category(
"Appearance"),
.net之生成图表的控件(柱状图,曲线图,饼状图)        DefaultValue(
"")]
.net之生成图表的控件(柱状图,曲线图,饼状图)        
public string Text
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            
get
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                
return text;
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
set
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                text 
= value;
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        [Bindable(
true),
.net之生成图表的控件(柱状图,曲线图,饼状图)        Category(
"Appearance"),
.net之生成图表的控件(柱状图,曲线图,饼状图)        DefaultValue(
"")]
.net之生成图表的控件(柱状图,曲线图,饼状图)        
public string DataStdName
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            
get
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                
return datastd;
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
set
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                datastd 
= value;
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        [Bindable(
true),
.net之生成图表的控件(柱状图,曲线图,饼状图)        Category(
"Appearance"),
.net之生成图表的控件(柱状图,曲线图,饼状图)        DefaultValue(
"")]
.net之生成图表的控件(柱状图,曲线图,饼状图)        
public string DataName
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            
get
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                
return data;
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
set
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                data 
= value;
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
/**//// <summary>
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// 需要呈现的数据
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// </summary>

.net之生成图表的控件(柱状图,曲线图,饼状图)        public DataTable Items
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            
set
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){ items = value; }
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
/**//// <summary>
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// 需要显示的刻度量
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// </summary>

.net之生成图表的控件(柱状图,曲线图,饼状图)        public int Kdcount
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
set .net之生成图表的控件(柱状图,曲线图,饼状图){ kds = value; }
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
/**//// <summary>
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// 刻度大小
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// </summary>

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
public float Kddw
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图)set .net之生成图表的控件(柱状图,曲线图,饼状图){ kddw = value; } }
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
public int ChatStyle
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图)set .net之生成图表的控件(柱状图,曲线图,饼状图)this.Chart_Flag = value; } }
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
/**//// <summary> 
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// 将此控件呈现给指定的输出参数。
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// </summary>
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// <param text="output"> 要写出到的 HTML 代码 </param>

.net之生成图表的控件(柱状图,曲线图,饼状图)        protected override void Render(HtmlTextWriter output)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//if(dt==null)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//{
.net之生成图表的控件(柱状图,曲线图,饼状图)            
// return "没有数据";
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//}
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//设计样式
.net之生成图表的控件(柱状图,曲线图,饼状图)
            kd(items);
.net之生成图表的控件(柱状图,曲线图,饼状图)            output.Write(makeimage(items, 
"c:/"));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private string makeimage(DataTable dt, string imagefile)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
string url = "";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
switch (Chart_Flag)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                
case 1:
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                    
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                        
this.Draw_X_Y_Bar(dt);
.net之生成图表的控件(柱状图,曲线图,饼状图)                        url 
= this.Drar_Bar(dt);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                        
break;
.net之生成图表的控件(柱状图,曲线图,饼状图)                    }

.net之生成图表的控件(柱状图,曲线图,饼状图)                
case 2:
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                    
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                        
this.Draw_X_Y(dt);
.net之生成图表的控件(柱状图,曲线图,饼状图)                        url 
= this.Drow_Lin(dt);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                        
break;
.net之生成图表的控件(柱状图,曲线图,饼状图)                    }

.net之生成图表的控件(柱状图,曲线图,饼状图)                
case 3:
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                    
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                        url 
= this.Draw_Pie(dt);
.net之生成图表的控件(柱状图,曲线图,饼状图)                        
break;
.net之生成图表的控件(柱状图,曲线图,饼状图)                    }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
return url;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
/**//// <summary>
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// 换算成实际值
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// </summary>
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// <param text="kd">提供的值</param>
.net之生成图表的控件(柱状图,曲线图,饼状图)        
/// <returns>返回换算后的实际值</returns>

.net之生成图表的控件(柱状图,曲线图,饼状图)        private float bl(float kd)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            
float bls = 1;
.net之生成图表的控件(柱状图,曲线图,饼状图)            bls 
= (float)height / ((float)kds * (float)kddw);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
return (float)kd * bls;
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
//通过数据计算刻度,和负坐标数#region //通过数据计算刻度,和负坐标数
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private void kd(DataTable dt)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            
float mintest = float.MaxValue;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
float maxtest = float.MinValue;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
float maxnegative = 0f;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
for (int j = 1; j < dt.Columns.Count; j++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                
for (int i = 0; i < dt.Rows.Count; i++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
float test = System.Convert.ToSingle(dt.Rows[i][j]);
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
//求最小值
.net之生成图表的控件(柱状图,曲线图,饼状图)
                    if (test < 0 && test < maxnegative)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                    
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                        maxnegative 
= test;
.net之生成图表的控件(柱状图,曲线图,饼状图)                    }

.net之生成图表的控件(柱状图,曲线图,饼状图)                    
//求最大值
.net之生成图表的控件(柱状图,曲线图,饼状图)
                    if (test > maxtest)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                    
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                        maxtest 
= test;
.net之生成图表的控件(柱状图,曲线图,饼状图)                    }

.net之生成图表的控件(柱状图,曲线图,饼状图)                }

.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            maxtest 
= maxtest + Math.Abs(maxnegative);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
// this.Page .Response .Write (maxtest);
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)            kddw 
= maxtest / kds;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
double exp = Convert.ToDouble(Math.Floor(Math.Log10(maxtest)));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
// this.Page .Response .Write ("exp"+exp.ToString ()+"<br>");
.net之生成图表的控件(柱状图,曲线图,饼状图)
            float tempMax = Convert.ToSingle(Math.Ceiling(maxtest / Math.Pow(10, exp)) * Math.Pow(10, exp));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
// this.Page .Response .Write ("temp_Max"+exp.ToString ()+"<br>");
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            kddw 
= tempMax / kds;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
double expTick = Convert.ToDouble(Math.Floor(Math.Log10(kddw)));
.net之生成图表的控件(柱状图,曲线图,饼状图)            kddw 
= Convert.ToSingle(Math.Ceiling(kddw / Math.Pow(10, expTick)) * Math.Pow(10, expTick));
.net之生成图表的控件(柱状图,曲线图,饼状图)            
this.Displacement = Math.Abs((int)Math.Floor(maxnegative / kddw));
.net之生成图表的控件(柱状图,曲线图,饼状图)            
// this.Page .Response.Write (this.Displacement);
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
#endregion

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
//
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)
        绘制折线图#region  绘制折线图
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private string Drow_Lin(DataTable dt)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//通过循环画出曲线图   
.net之生成图表的控件(柱状图,曲线图,饼状图)
            int x = -1;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int bzy = -1;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            Graphics bp 
= Graphics.FromImage(bm);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
for (int j = 1; j < dt.Columns.Count; j++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                
for (int i = 0; i < dt.Rows.Count; i++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
//标准刻度
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
float bzkd = bl(System.Convert.ToSingle(dt.Rows[i].ItemArray[j]));
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
//实际刻度
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
// float sjkd=bl(System.Convert.ToSingle(dt.Rows[i].ItemArray[2]));
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)                    
int bztop = cxtop + height - (int)bzkd - 3 - (int)(bl(this.Displacement * kddw));
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
//填充标准柱(画刷,起点X,起点Y,宽,高)
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    bp.FillRectangle(
new SolidBrush(_color[j - 1]), (i * 40+ cxleft + 20 - 3, bztop, 66);
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
// int sstop=zmheight-(int)sjkd-(zmheight-cxtop-height)-3;
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
//填充实时点(画刷,起点X,起点Y,宽,高)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
// bp.FillRectangle(new SolidBrush(ss),(i*30)+cxleft,sstop,6,6);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
//绘制点到点连接线
.net之生成图表的控件(柱状图,曲线图,饼状图)
                    if (x != -1)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                    
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                        
//绘制标准点连接线
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)                        bp.DrawLine(
new Pen(_color[j - 1], 1.6F), new Point(x, bzy), new Point((i * 40+ cxleft + 20, bztop));
.net之生成图表的控件(柱状图,曲线图,饼状图)                        
//绘制实时点连接线
.net之生成图表的控件(柱状图,曲线图,饼状图)                        
// bp.DrawLine(new Pen(ss,1.6F),new Point(x+3,ssy+4),new Point((i*30)+cxleft+10,sstop+4));
.net之生成图表的控件(柱状图,曲线图,饼状图)
                    }

.net之生成图表的控件(柱状图,曲线图,饼状图)                    x 
= (i * 40+ cxleft + 20;
.net之生成图表的控件(柱状图,曲线图,饼状图)                    bzy 
= bztop;
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
// ssy=sstop;
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
//  bp.DrawString(dt.Rows[i].ItemArray[0].ToString (),new Font("宋体",9),new SolidBrush(Color.Black),new PointF((i*40)+cxleft+10,height+cxtop+1));
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                x 
= -1;
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)            FileStream fs 
= new FileStream(Page.Server.MapPath(Page.Request.Url.AbsolutePath.Replace(".aspx"".jpg")), FileMode.Create);
.net之生成图表的控件(柱状图,曲线图,饼状图)            bm.Save(fs, ImageFormat.Jpeg);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            bm.Dispose();
.net之生成图表的控件(柱状图,曲线图,饼状图)            bp.Dispose();
.net之生成图表的控件(柱状图,曲线图,饼状图)            fs.Close();
.net之生成图表的控件(柱状图,曲线图,饼状图)            
return "<img src=" + Page.Request.Url.AbsolutePath.Replace(".aspx"".jpg"+ " ></img>";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
#endregion

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
画住状图#region 画住状图
.net之生成图表的控件(柱状图,曲线图,饼状图)        
//画住状图 
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private string Drar_Bar(DataTable dt)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            Graphics bp 
= Graphics.FromImage(bm);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int flag = 0;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
for (int i = 0; i < dt.Rows.Count; i++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                
for (int j = 1; j < dt.Columns.Count; j++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
float sjkd = bl(System.Convert.ToSingle(dt.Rows[i].ItemArray[j]));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
float top = cxtop + height - (int)sjkd - (int)(bl(this.Displacement * kddw));
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
if (sjkd < 0)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                    
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                        top 
= top + sjkd;
.net之生成图表的控件(柱状图,曲线图,饼状图)                        sjkd 
= Math.Abs(sjkd);
.net之生成图表的控件(柱状图,曲线图,饼状图)                    }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    bp.FillRectangle(
new SolidBrush(this._color[j]), (flag * 40+ cxleft + 20, top, 20, sjkd);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
//    this.Page .Response .Write ("<br>"+  (flag*40+cxleft+20) );
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)                    flag
++;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                }

.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            FileStream fs 
= new FileStream(Page.Server.MapPath(Page.Request.Url.AbsolutePath.Replace(".aspx"".jpg")), FileMode.Create);
.net之生成图表的控件(柱状图,曲线图,饼状图)            bm.Save(fs, ImageFormat.Jpeg);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            bm.Dispose();
.net之生成图表的控件(柱状图,曲线图,饼状图)            bp.Dispose();
.net之生成图表的控件(柱状图,曲线图,饼状图)            fs.Close();
.net之生成图表的控件(柱状图,曲线图,饼状图)            
return "<img src=" + Page.Request.Url.AbsolutePath.Replace(".aspx"".jpg"+ " ></img>";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
#endregion

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
画 X,Y 轴 线和刻度#region  画 X,Y 轴 线和刻度
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private void Draw_X_Y(DataTable dt)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//调整宽度
.net之生成图表的控件(柱状图,曲线图,饼状图)
            width = 45 * dt.Rows.Count + 30;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            zmwidth 
= width + cxleft + 80;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//创建一个画布
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)            bm 
= new Bitmap(zmwidth, zmheight);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//在新建的画布上画一个图
.net之生成图表的控件(柱状图,曲线图,饼状图)
            Graphics bp = Graphics.FromImage(bm);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            bp.Clear(Color.AliceBlue);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//填充图表呈现区背景(画刷,起点x,起点Y,高,宽)
.net之生成图表的控件(柱状图,曲线图,饼状图)
            bp.FillRectangle(new SolidBrush(Color.WhiteSmoke), cxleft, cxtop, width, height);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//描绘呈现区边框
.net之生成图表的控件(柱状图,曲线图,饼状图)
            bp.DrawRectangle(Pens.Black, cxleft, cxtop, width, height);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//绘制图表名称
.net之生成图表的控件(柱状图,曲线图,饼状图)
            bp.DrawString(text, new Font("宋体"9), new SolidBrush(Color.Black), new PointF(zmwidth / 210));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//绘制图表说明
.net之生成图表的控件(柱状图,曲线图,饼状图)
            bp.DrawRectangle(Pens.Black, cxleft + width + 10, zmheight / 26015 * dt.Columns.Count - 1);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
for (int j = 0; j < dt.Columns.Count - 1; j++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                bp.FillRectangle(
new SolidBrush(this._color[j]), cxleft + width + 10 + 2, zmheight / 2 + 6 + 16 * j, 88);
.net之生成图表的控件(柱状图,曲线图,饼状图)                
//文字说明
.net之生成图表的控件(柱状图,曲线图,饼状图)
                bp.DrawString(dt.Columns[j + 1].ColumnName, new Font("宋体"9), new SolidBrush(Color.Black), new PointF(cxleft + width + 10 + 2 + 8, zmheight / 2 + 4 + j * 12));
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//通过循环绘制标准线
.net之生成图表的控件(柱状图,曲线图,饼状图)
            for (int i = 0; i <= kds; i++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                
string Cur_Kd;
.net之生成图表的控件(柱状图,曲线图,饼状图)                
if (i - this.Displacement != 0)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                    Cur_Kd 
= ((i - this.Displacement) * (kddw)).ToString("#,###.##");
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
// this.Page .Response .Write ("<br>abc"+Cur_Kd.ToString ());
.net之生成图表的控件(柱状图,曲线图,饼状图)
                }

.net之生成图表的控件(柱状图,曲线图,饼状图)                
else
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                    Cur_Kd 
= "0";
.net之生成图表的控件(柱状图,曲线图,饼状图)                }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                bp.DrawString(Cur_Kd, 
new Font("宋体"9), new SolidBrush(Color.Black), new PointF(2, zmheight - (bl(i * kddw) + (zmheight - cxtop - height) + 4)));
.net之生成图表的控件(柱状图,曲线图,饼状图)                
//填充标准线(画刷,起点X,起点Y,宽,高)
.net之生成图表的控件(柱状图,曲线图,饼状图)
                int top = cxtop + height - (int)(bl(i * kddw));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                bp.DrawLine(
new Pen(bzlink), new Point(cxleft - 4, top), new Point(cxleft + width, top));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
for (int j = 1; j < dt.Rows.Count + 1; j++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                bp.DrawLine(
new Pen(bzlink), new Point(cxleft + j * 40, (int)(cxtop + height - bl(this.Displacement * kddw))), new Point(cxleft + j * 40, (int)(cxtop + height - bl(this.Displacement * kddw)) + 4));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                bp.DrawString(dt.Rows[j 
- 1].ItemArray[0].ToString(), new Font("宋体"9), new SolidBrush(Color.Black), new PointF(((j - 1* 40+ cxleft + 10, (int)(cxtop + height - bl(this.Displacement * kddw)) + 1));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)        
#endregion

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
画 柱状 x,y  刻度#region 画 柱状 x,y  刻度
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private void Draw_X_Y_Bar(DataTable dt)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//调整宽度
.net之生成图表的控件(柱状图,曲线图,饼状图)
            width = 45 * dt.Rows.Count * (dt.Columns.Count - 1+ 10;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            zmwidth 
= width + cxleft + 80;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//创建一个画布
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)            bm 
= new Bitmap(zmwidth, zmheight);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//在新建的画布上画一个图
.net之生成图表的控件(柱状图,曲线图,饼状图)
            Graphics bp = Graphics.FromImage(bm);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            bp.Clear(Color.AliceBlue);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//填充图表呈现区背景(画刷,起点x,起点Y,高,宽)
.net之生成图表的控件(柱状图,曲线图,饼状图)
            bp.FillRectangle(new SolidBrush(Color.WhiteSmoke), cxleft, cxtop, width, height);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//描绘呈现区边框
.net之生成图表的控件(柱状图,曲线图,饼状图)
            bp.DrawRectangle(Pens.Black, cxleft, cxtop, width, height);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//绘制图表名称
.net之生成图表的控件(柱状图,曲线图,饼状图)
            bp.DrawString(text, new Font("宋体"9), new SolidBrush(Color.Black), new PointF(zmwidth / 210));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//绘制图表说明
.net之生成图表的控件(柱状图,曲线图,饼状图)
            bp.DrawRectangle(Pens.Black, cxleft + width + 10, zmheight / 26015 * dt.Columns.Count - 1);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
for (int j = 1; j < dt.Columns.Count; j++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                bp.FillRectangle(
new SolidBrush(this._color[j]), cxleft + width + 10 + 2, zmheight / 2 + 6 + 16 * (j-1), 88);
.net之生成图表的控件(柱状图,曲线图,饼状图)                
//文字说明
.net之生成图表的控件(柱状图,曲线图,饼状图)
                bp.DrawString(dt.Columns[j].ColumnName, new Font("宋体"9), new SolidBrush(Color.Black), new PointF(cxleft + width + 10 + 2 + 8,zmheight / 2 + 6 + 16 * (j-1)));
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
//通过循环绘制标准线
.net之生成图表的控件(柱状图,曲线图,饼状图)
            for (int i = 0; i <= kds; i++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                
string Cur_Kd;
.net之生成图表的控件(柱状图,曲线图,饼状图)                
if (i - this.Displacement != 0)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                    Cur_Kd 
= ((i - this.Displacement) * (kddw)).ToString("#,###.##");
.net之生成图表的控件(柱状图,曲线图,饼状图)                    
// 
.net之生成图表的控件(柱状图,曲线图,饼状图)
                }

.net之生成图表的控件(柱状图,曲线图,饼状图)                
else
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                    Cur_Kd 
= "0";
.net之生成图表的控件(柱状图,曲线图,饼状图)                }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                bp.DrawString(Cur_Kd, 
new Font("宋体"9), new SolidBrush(Color.Black), new PointF(2, zmheight - (bl(i * kddw) + (zmheight - cxtop - height) + 4)));
.net之生成图表的控件(柱状图,曲线图,饼状图)                
//填充标准线(画刷,起点X,起点Y,宽,高)
.net之生成图表的控件(柱状图,曲线图,饼状图)
                int top = cxtop + height - (int)(bl(i * kddw));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                bp.DrawLine(
new Pen(bzlink), new Point(cxleft - 4, top), new Point(cxleft + width, top));
.net之生成图表的控件(柱状图,曲线图,饼状图)                
//   this.Page .Response .Write ("<br>abc"+Cur_Kd.ToString ()); 
.net之生成图表的控件(柱状图,曲线图,饼状图)
            }

.net之生成图表的控件(柱状图,曲线图,饼状图)            
if (dt.Columns.Count == 2)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){ }
.net之生成图表的控件(柱状图,曲线图,饼状图)            
else
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                
for (int j = 1; j < dt.Rows.Count + 1; j++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)                
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    bp.DrawLine(
new Pen(bzlink), new Point(cxleft + (dt.Columns.Count - 1* j * 40, (int)(cxtop + height - bl(this.Displacement * kddw))), new Point(cxleft + (dt.Columns.Count - 1* j * 40, (int)(cxtop + height - bl(this.Displacement * kddw)) + 12));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                    bp.DrawString(dt.Rows[j 
- 1].ItemArray[0].ToString(), new Font("宋体"9), new SolidBrush(Color.Black), new PointF(((dt.Columns.Count - 1* (j - 1* 40+ cxleft + 40, (int)(cxtop + height - bl(this.Displacement * kddw)) + 1));
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                }

.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)        
#endregion

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
饼状图#region  饼状图
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private string Draw_Pie(DataTable dt)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int width = 240;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
const int page_top_margin = 15;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
float total = 0.0F, tmp;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int i;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
for (i = 0; i < dt.Rows.Count; i++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                tmp 
= Convert.ToSingle(dt.Rows[i][1]);
.net之生成图表的控件(柱状图,曲线图,饼状图)                total 
+= tmp;
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            Font fontLegend 
= new Font("Verdana"10);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            Font fontTitle 
= new Font("Verdana"12, FontStyle.Bold);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int titleHeight = fontTitle.Height + page_top_margin;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int row_gap = 6;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int start_of_rect = 8;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int rect_width = 14;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int rect_height = 16;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int row_height;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
if (rect_height > fontLegend.Height) row_height = rect_height; else row_height = fontLegend.Height;
.net之生成图表的控件(柱状图,曲线图,饼状图)            row_height 
+= row_gap;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int legendHeight = row_height * (dt.Rows.Count + 1);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int height = width + legendHeight + titleHeight + page_top_margin;
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int pieHeight = width;
.net之生成图表的控件(柱状图,曲线图,饼状图)            Rectangle pieRect 
= new Rectangle(0, titleHeight, width, pieHeight);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
float currentDegree = 0.0F;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            Bitmap bm 
= new Bitmap(width, height);
.net之生成图表的控件(柱状图,曲线图,饼状图)            Graphics objGraphics 
= Graphics.FromImage(bm);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            SolidBrush blackBrush 
= new SolidBrush(Color.Black);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            objGraphics.FillRectangle(
new SolidBrush(Color.White), 00, width, height);
.net之生成图表的控件(柱状图,曲线图,饼状图)            
for (i = 0; i < dt.Rows.Count; i++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)                objGraphics.FillPie(
.net之生成图表的控件(柱状图,曲线图,饼状图)                  
new SolidBrush(this._color[i]),
.net之生成图表的控件(柱状图,曲线图,饼状图)                 pieRect,
.net之生成图表的控件(柱状图,曲线图,饼状图)                 currentDegree,
.net之生成图表的控件(柱状图,曲线图,饼状图)                 Convert.ToSingle(dt.Rows[i][
1]) / total * 360);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                currentDegree 
+= Convert.ToSingle(dt.Rows[i][1]) / total * 360;
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            StringFormat stringFormat 
= new StringFormat();
.net之生成图表的控件(柱状图,曲线图,饼状图)            stringFormat.Alignment 
= StringAlignment.Center;
.net之生成图表的控件(柱状图,曲线图,饼状图)            stringFormat.LineAlignment 
= StringAlignment.Center;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            objGraphics.DrawString(
this.datastd, fontTitle, blackBrush,
.net之生成图表的控件(柱状图,曲线图,饼状图)             
new Rectangle(00, width, titleHeight), stringFormat);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            objGraphics.DrawRectangle(
.net之生成图表的控件(柱状图,曲线图,饼状图)             
new Pen(Color.Gray, 1),
.net之生成图表的控件(柱状图,曲线图,饼状图)             
0,
.net之生成图表的控件(柱状图,曲线图,饼状图)             height 
- legendHeight,
.net之生成图表的控件(柱状图,曲线图,饼状图)             width 
- 4,
.net之生成图表的控件(柱状图,曲线图,饼状图)             legendHeight 
- 1);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
int y = height - legendHeight + row_gap;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            
for (i = 0; i < dt.Rows.Count; i++)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)            
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                objGraphics.FillRectangle(
.net之生成图表的控件(柱状图,曲线图,饼状图)                 
new SolidBrush(this._color[i]),
.net之生成图表的控件(柱状图,曲线图,饼状图)                 start_of_rect,  
// x
.net之生成图表的控件(柱状图,曲线图,饼状图)
                 y,
.net之生成图表的控件(柱状图,曲线图,饼状图)                 rect_width,
.net之生成图表的控件(柱状图,曲线图,饼状图)                 rect_height);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                objGraphics.DrawString(
.net之生成图表的控件(柱状图,曲线图,饼状图)                 Convert.ToString(dt.Rows[i][
0])
.net之生成图表的控件(柱状图,曲线图,饼状图)                 
+ " - " +
.net之生成图表的控件(柱状图,曲线图,饼状图)                 Convert.ToString(dt.Rows[i][
1]),
.net之生成图表的控件(柱状图,曲线图,饼状图)                 fontLegend,
.net之生成图表的控件(柱状图,曲线图,饼状图)                 blackBrush,
.net之生成图表的控件(柱状图,曲线图,饼状图)                 start_of_rect 
+ rect_width + 4,
.net之生成图表的控件(柱状图,曲线图,饼状图)                 y);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)                y 
+= rect_height + row_gap;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            }

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            FileStream fs 
= new FileStream(Page.Server.MapPath(Page.Request.Url.AbsolutePath.Replace(".aspx"".jpg")), FileMode.Create);
.net之生成图表的控件(柱状图,曲线图,饼状图)            bm.Save(fs, ImageFormat.Jpeg);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            bm.Dispose();
.net之生成图表的控件(柱状图,曲线图,饼状图)            objGraphics.Dispose();
.net之生成图表的控件(柱状图,曲线图,饼状图)            fs.Close();
.net之生成图表的控件(柱状图,曲线图,饼状图)            
return "<img src=" + Page.Request.Url.AbsolutePath.Replace(".aspx"".jpg"+ " ></img>";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        }

.net之生成图表的控件(柱状图,曲线图,饼状图)        
#endregion

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)    }

.net之生成图表的控件(柱状图,曲线图,饼状图)}

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)

在调用时很简单, 首先将它编译成控件,在aspx页添加引用
 

.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)<%.net之生成图表的控件(柱状图,曲线图,饼状图)@ Register TagPrefix="cc1" Namespace="hya.Control" Assembly="Columniation" %>


在你需要显示图表的地方添加如下标签:

.net之生成图表的控件(柱状图,曲线图,饼状图)<cc1:Columniation id="Columniation1" runat="server"></cc1:Columniation>

在对应的.cs页写下如下的代码

.net之生成图表的控件(柱状图,曲线图,饼状图)using System;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Collections;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.ComponentModel;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Data;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Drawing;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Web;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Web.SessionState;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Web.UI;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Web.UI.WebControls;
.net之生成图表的控件(柱状图,曲线图,饼状图)
using System.Web.UI.HtmlControls;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
public partial class _Default : System.Web.UI.Page 
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
private void Page_Load(object sender, System.EventArgs e)
.net之生成图表的控件(柱状图,曲线图,饼状图).net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图){
.net之生成图表的控件(柱状图,曲线图,饼状图)            
// 在此处放置用户代码以初始化页面
.net之生成图表的控件(柱状图,曲线图,饼状图)
            DataTable dt = new DataTable();
.net之生成图表的控件(柱状图,曲线图,饼状图)            DataColumn dc;
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dc 
= new DataColumn();
.net之生成图表的控件(柱状图,曲线图,饼状图)            dc.DataType 
= System.Type.GetType("System.String");
.net之生成图表的控件(柱状图,曲线图,饼状图)            dc.ColumnName 
= "name";
.net之生成图表的控件(柱状图,曲线图,饼状图)            dt.Columns.Add(dc);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dc 
= new DataColumn();
.net之生成图表的控件(柱状图,曲线图,饼状图)            dc.DataType 
= System.Type.GetType("System.Int32");
.net之生成图表的控件(柱状图,曲线图,饼状图)            dc.ColumnName 
= "db";
.net之生成图表的控件(柱状图,曲线图,饼状图)            dt.Columns.Add(dc);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)         dc 
= new DataColumn();
.net之生成图表的控件(柱状图,曲线图,饼状图)           dc.DataType 
= System.Type.GetType("System.Int32");
.net之生成图表的控件(柱状图,曲线图,饼状图)           dc.ColumnName 
= "df";
.net之生成图表的控件(柱状图,曲线图,饼状图)            dt.Columns.Add(dc);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dc 
= new DataColumn();
.net之生成图表的控件(柱状图,曲线图,饼状图)          dc.DataType 
= System.Type.GetType("System.Int32");
.net之生成图表的控件(柱状图,曲线图,饼状图)           dc.ColumnName 
= "dz";
.net之生成图表的控件(柱状图,曲线图,饼状图)           dt.Columns.Add(dc);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            DataRow dr 
= dt.NewRow();
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"name"= "点1";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"db"= "1000";
.net之生成图表的控件(柱状图,曲线图,饼状图)           dr[
"df"= "500";
.net之生成图表的控件(柱状图,曲线图,饼状图)          dr[
"dz"= "240";
.net之生成图表的控件(柱状图,曲线图,饼状图)            dt.Rows.Add(dr);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr 
= dt.NewRow();
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"name"= "点2";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"db"= "200";
.net之生成图表的控件(柱状图,曲线图,饼状图)           dr[
"df"= "200";
.net之生成图表的控件(柱状图,曲线图,饼状图)         dr[
"dz"= "240";
.net之生成图表的控件(柱状图,曲线图,饼状图)            dt.Rows.Add(dr);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr 
= dt.NewRow();
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"name"= "点3";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"db"= "300";
.net之生成图表的控件(柱状图,曲线图,饼状图)          dr[
"df"= "600";
.net之生成图表的控件(柱状图,曲线图,饼状图)          dr[
"dz"= "240";
.net之生成图表的控件(柱状图,曲线图,饼状图)            dt.Rows.Add(dr);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr 
= dt.NewRow();
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"name"= "点4";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"db"= "200";
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"df"= "1500";
.net之生成图表的控件(柱状图,曲线图,饼状图)           dr[
"dz"= "240";
.net之生成图表的控件(柱状图,曲线图,饼状图)            dt.Rows.Add(dr);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr 
= dt.NewRow();
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"name"= "点5";
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)            dr[
"db"= "400";
.net之生成图表的控件(柱状图,曲线图,饼状图)         dr[
"df"= "2400";
.net之生成图表的控件(柱状图,曲线图,饼状图)         dr[
"dz"= "240";
.net之生成图表的控件(柱状图,曲线图,饼状图)            dt.Rows.Add(dr);
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)        
.net之生成图表的控件(柱状图,曲线图,饼状图)            Columniation1.Items 
= dt;
.net之生成图表的控件(柱状图,曲线图,饼状图)            Columniation1.ChatStyle 
= 3;  //1 为柱状,2 为折线,3为屏状 
.net之生成图表的控件(柱状图,曲线图,饼状图)

.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)
.net之生成图表的控件(柱状图,曲线图,饼状图)    }

.net之生成图表的控件(柱状图,曲线图,饼状图)}

.net之生成图表的控件(柱状图,曲线图,饼状图)



其生成的饼状图如下:

.net之生成图表的控件(柱状图,曲线图,饼状图)
其生成的柱状图如下:
.net之生成图表的控件(柱状图,曲线图,饼状图)
其生成的折线图如下:
.net之生成图表的控件(柱状图,曲线图,饼状图)
 

转载于:https://www.cnblogs.com/82767136/articles/1205436.html