在Asp.net页面中实现数据饼图

13 篇文章 5 订阅
订阅专栏

        ASP.NET之所以能够在客户端浏览器中形成各种数据图片,是因为在ASP.NET中提供了绘图功能,具体的作法是先在服务器端创建一个Bitmap实例,然后利用ASP.NET中提供的绘图功能,按照要生成的图片的模样,进行绘制,最后把绘制好的实例以数据流的方式传送到客户端的浏览器上,并形成图片显示出来。本文要介绍的在ASP.NET页面中实现数据饼图采用的基本也是这种方法。饼图有时称为"Pie"图,本文要实现的数据饼图模样具体如图01所示:

                       图01:在ASP.NET页面中产生的数据饼图

一.本文程序设计和运行的软件环境:

  (1).微软公司视窗2000服务器版。
  (2).Visual Studio .Net正式版,.Net FrameWork SDK版本号3705。
  (3).MDAC 2.6(Microsoft Data Acess Component)以上版本。

二.数据字典:

        为了方便起见,本文选择的数据库类型为本地数据库--Access 2000,如果你使用的是其他数据库类型,只需对下面介绍的程序中的关于数据库连接的代码进行相应的修改就可以了。Access数据库名称为"db2.mdb",在此数据库中只定义了一张数据表"MonthSale",此表的结构如表01所示:

                                                               表01:MonthSale数据表的结构

在定义完"db2.mdb"数据库中的"MonthSale"数据表后,在MonthSale数据表中按照表02所示添加记录:

                                                                表02:MonthSale数据表中的记录情况

在MonthSale数据表中添加完这12条记录后,保存"db2.mdb"数据库到C盘的根目录中。

下面就要解决根据从数据库中读取的数据绘制Pie图的方法。

(1).绘制数据Pie图的实现方法:

  图01所示的Pie图看似是由一个圆形按照从数据库中得到数据值的大小分割而成的,其实在具体实现时并非如此,图01所示的Pie图其实由许多根据从数据库中数值大小,绘制相应的扇型,并由这些扇型组合而成的

(2).简介ASP.NET页面中绘制扇型要使用到的类及其方法:

  在本文和前文中,在ASP.NET页面中实现绘图功能主要使用的是Graphics类,Graphics类被封装在命名空间"System.Drawing"中。Graphics类中定义了很多方法和属性,这些方法和属性都与绘图有关,Graphics类中的常用成员具体可参阅表01和表02,表01是Graphics类中的常用方法及其说明,表02是Graphics类中常用属性及其说明:

方法说明
Clear清除整个绘图面并以指定背景色填充。
Dispose释放由此Graphics对象使用的所有资源。
DrawArc绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。
DrawEllipse绘制一个由边框定义的椭圆。
DrawIcon在指定坐标处绘制由指定的Icon对象表示的图像。
DrawIconUnstretched绘制指定的Icon对象表示的图像,而不缩放该图像。
DrawImage在指定位置并且按原始大小绘制指定的Image对象。
DrawImageUnscaled在坐标对所指定的位置并且按其原始大小绘制指定的Image对象。
DrawLine绘制一条连接由坐标对指定的两个点的线条。
DrawLines绘制一系列连接一组Point结构的线段。
DrawPie绘制一个扇形,该扇形由一个坐标对、宽度和高度以及两条射线所指定的椭圆定义。
DrawPolygon绘制由一组Point结构定义的多边形。
DrawRectangle绘制由坐标对、宽度和高度指定的矩形。
DrawRectangles绘制一系列由Rectangle结构指定的矩形。
DrawString在指定位置并且用指定的Brush和Font对象绘制指定的文本字符串。
FillClosedCurve填充由Point结构数组定义的闭合基数样条曲线的内部。
FillEllipse填充边框所定义的椭圆的内部,该边框由一对坐标、一个宽度和一个高度指定。
FillPie填充由一对坐标、一个宽度、一个高度以及两条射线指定的椭圆所定义的扇形区的内部。
FillPolygon
填充Point结构指定的点数组所定义的多边形的内部。
FillRectangle填充由一对坐标、一个宽度和一个高度指定的矩形的内部。
FillRectangles填充由Rectangle结构指定的一系列矩形的内部。
FillRegion填充Region 对象的内部。
Flush强制执行所有挂起的图形操作并立即返回而不等待操作完成。
FromHdc从设备上下文的指定句柄创建新的Graphics对象。
FromHwnd从窗口的指定句柄创建新的Graphics对象。
FromImage从指定的Image对象创建新Graphics对象
GetHdc获取与此Graphics对象关联的设备上下文的句柄。
ReleaseHdc释放通过以前对此Graphics对象GetHdc方法的调用获得的设备上下文句柄。
ResetClip将此Graphics对象的剪辑区域重置为无限区域。
ResetTransform将此Graphics对象的全局变换矩阵重置为单位矩阵。
  
  

                                                                             表01:Graphics类中的常用方法及其说明

 

在本文中使用最多,也是最重要的方法就是:FillPie和DrawPie方法。这二个方法的具体使用方法,在下文中又详细介绍。

属性说明
Clip获取或设置Region对象,该对象限定此Graphics对象的绘图区域。
ClipBounds获取RectangleF结构,该结构限定此Graphics对象的剪辑区域。
DpiX获取此Graphics对象的水平分辨率。
DpiY获取此Graphics对象的垂直分辨率。
PageScale获取或设置此Graphics对象的全局单位和页单位之间的比例。
PageUnit获取或设置用于此Graphics对象中的页坐标的度量单位。
PixelOffsetMode获取或设置一个值,该值指定在呈现此Graphics对象的过程中像素如何偏移。
RenderingOrigin为抵色处理和阴影画笔获取或设置此Graphics对象的呈现原点。
SmoothingMode获取或设置此Graphics对象的呈现质量。
TextRenderingHint获取或设置与此Graphics对象关联的文本的呈现模式。
Transform获取或设置此Graphics对象的全局变换。
VisibleClipBounds获取或设置此Graphics对象的可见剪辑区域的边框。
  
  

                                                                       表02:Graphics类中的常用属性及其说明

 

(3).利用FillPie和DrawPie方法绘制扇型的具体方法:
  DrawPie方法功能是绘制一个扇型,下面是 DrawPie方法的一种调用语法,此语法也是本文中主要的调用方式,具体如下:
  public void DrawPie ( Pen , float , float , float , float , float , float ) ;
  此种DrawPie调用方法是由七个参数组成,这七个参数的具体说明如下:
  第一个参数:定义绘制扇型的画笔类型;
  第二和第三个参数:定义扇型的坐标;
  第四和第五个参数:定义组成扇型的二个射线的长度;
  第六和第七个参数:定义扇型的开始角度和扇型旋转的角度大小。其中把X坐标的正方向定为0度角,计算扇型的开始角度的按照顺时针方向旋转,最先到达的扇型的那条射线和0度角之间的夹角。

  下列代码就是在ASP.NET页面中绘制一个扇型:

Bitmap bm = new Bitmap ( 600 , 300 ) ;
//创建一个长度为600,宽带为300的Bitmap实例
Graphics g ;
g = Graphics.FromImage ( bm ) ;
//由此Bitmap实例创建Graphic实例
g . Clear ( Color . Snow ) ;
g.DrawPie ( Pens.Red , 50 , 50 , 150 , 150 , 0 , 30 ) ; 

四.ASP.NET页面中实现数据Pie图实现步骤

  在实现数据Pie图之前,首先要确保在C盘的根目录存在"db.mdb"数据库,并且此数据库已经设定完毕,并且存在《在ASP.NET页面中实现数据棒图》一文中的数据。下面是ASP.NET实现数据Pie图的具体步骤,开发工具使用的是Visual Studio .Net,采用的是C#语言。

       1. 启动Visual Studio .Net。
  2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
  3. 将【项目类型】设置为【Visual C#项目】。
  4. 将【模板】设置为【ASP.NET Web 应用程序】。
  5. 在【位置】的文本框中输入"http://localhost/Pie"。然后单击【确定】按钮,这样在Visual Studio .Net就会在当前项目文件所在目录中建立一个名称为"Pie"文件夹,里面存放是此项目的项目文件,项目中的其他文件存放的位置是计算机Internet信息服务的默认的Web站点所在的目录中新建的一个名称为"WebPieDemo"的文件夹中
     6. 把Visual Studio .Net的当前窗口切换到WebForm的代码编辑窗口,即:WebForm1.aspx.cs文件的编辑窗口。
  7. 在WebForm1.aspx.cs文件首部,用下列代码替换WebForm1.aspx.cs中导入命名空间的代码:

//下面程序中使用的ImageFormat类所在的命名空间
using System.Drawing.Imaging ;
//下面程序中使用到关于数据库方面的类所在的命名空间
using System.Data.OleDb ;

        8. WebForm1.aspx.cs文件中的Page_Load事件处理代码中添加下列代码,下列代码的作用是打开数据库,读取数据,并以此数据形成数据Pie图:

private void Page_Load(object sender, System.EventArgs e)
  2        {
  3            // 在此处放置用户代码以初始化页面
  4            string sRouter = "c:\\db2.mdb" ;
  5
  6            //获得当前Access数据库在服务器端的绝对路径
  7            string strCon = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + sRouter ;
  8
  9            //创建一个数据库连接
 10            OleDbConnection myConn = new OleDbConnection ( strCon ) ;
 11            string strCom = " SELECT YF ,SL FROM MonthSale ORDER BY YF" ;
 12            myConn.Open ( ) ;
 13            OleDbCommand myCommand = new OleDbCommand ( strCom , myConn ) ;
 14            OleDbDataReader myOleDbDataReader = myCommand.ExecuteReader ( ) ;
 15            //创建OleDbDataReader实例,并以此实例来获取数据库中各条记录数据
 16
 17            int [ ] iXiaoSH = new int [ 12 ] ;
 18            //定义一个数组,用以存放从数据库中读取的销售数据
 19
 20            string [ ] sMoth = new string [ 12 ] ;
 21            //定义一个数组,用以存放从数据库中读取的销售月份
 22
 23            int iIndex = 0 ;
 24            while ( myOleDbDataReader.Read ( ) ) 
 25            {
 26                iXiaoSH [ iIndex ] = myOleDbDataReader.GetInt32 ( 1 ) ;
 27                sMoth [ iIndex ] = myOleDbDataReader.GetInt32 ( 0 ) . ToString() + "月" ;
 28                iIndex++ ;
 29            }
 30            //读取Table01数据表中的各条数据,并存放在先前定义的二个数组中
 31
 32            myConn . Close ( ) ;
 33            myOleDbDataReader . Close ( ) ;
 34 
 35            Bitmap bm = new Bitmap ( 600 , 300 ) ;
 36            //创建一个长度为600,宽带为300的Bitmap实例
 37
 38            Graphics g ;
 39            g = Graphics.FromImage ( bm ) ;
 40            g . Clear ( Color . Snow ) ;
 41            g . DrawString ( " ××公司××××年度销售情况一览表" , new Font ( "宋体" , 16 ) , Brushes . Black , new Point ( 5 , 5 ) ) ;
 42            //在绘画图面的指定位置,以指定的字体、指定的颜色绘制指定的字符串。即为图表标题
 43
 44            //以下代码是是实现图01中的右上部区域
 45            //以上是在图01中为下面绘制定位
 46            Point myRec = new Point ( 515 , 30 ) ;
 47            Point myDec = new Point ( 540 , 30 ) ;
 48            Point myTxt = new Point ( 565 , 30 ) ;
 49            g . DrawString ( "单位:万套" , new Font ( "宋体" , 9 ) , Brushes . Black , new Point ( 515 , 12 ) ) ;
 50            for ( int i = 0 ; i < sMoth.Length ; i++ ) 
 51            {
 52                g . FillRectangle ( new SolidBrush ( GetColor ( i ) ) , myRec . X , myRec . Y , 20 , 10 ) ;
 53                //填充小方块
 54
 55                g . DrawRectangle ( Pens.Black , myRec . X , myRec . Y , 20 , 10 ) ;
 56                //绘制小方块
 57
 58                g . DrawString ( sMoth [ i ] . ToString ( ) , new Font ( "宋体", 9 ) , Brushes . Black , myDec ) ;
 59                //绘制小方块右边的文字
 60
 61                g . DrawString ( iXiaoSH[i].ToString (), new Font ( "宋体", 9 ) , Brushes . Black , myTxt ) ;
 62                myRec . Y += 15 ;
 63                myDec . Y += 15 ;
 64                myTxt . Y += 15 ;
 65            }
 66
 67            //以下代码是根据从数据库中得到的数值大小,绘制扇型,并以相应色彩填充扇型,//从而构成图01中的Pie图
 68            int iTatal = 0 ; 
 69            float fCurrentAngle = 0 ;
 70            float fStartAngle = 0;
 71            for ( int i = 0 ; i < iXiaoSH . Length ; i++ )
 72            {
 73                iTatal = iTatal + iXiaoSH [ i ] ;
 74            }
 75            for ( int i = 0 ; i < iXiaoSH . Length ; i++ )
 76            {
 77                //以下代码是获得要绘制扇型的开始角度
 78                if ( i == iXiaoSH . Length - 1 )
 79                {
 80                    fCurrentAngle = 360- fStartAngle ;
 81                }
 82                else
 83                {
 84                    int iTemp = iXiaoSH [ i ] ;
 85                    fCurrentAngle = ( iTemp * 360 ) / iTatal ;
 86                }
 87                //根据参数绘制扇型
 88
 89                g.DrawPie ( Pens.Black , 100 , 40 , 250 , 250 , fStartAngle , fCurrentAngle ) ;
 90                //以指定色彩填充绘制的扇型
 91
 92                g.FillPie ( new SolidBrush ( GetColor ( i ) ) , 100 , 40 , 250 , 250 , fStartAngle , fCurrentAngle ) ;
 93                fStartAngle += fCurrentAngle ;
 94            }
 95
 96            //画出图片的边框
 97            Pen p = new Pen ( Color.Black , 2 ) ;
 98            g . DrawRectangle ( p , 1 , 1 , 598 , 298 ) ;
 99
100            //向客户端输出数据流,并以此数据流形成Jpeg图片
101            bm.Save ( Response . OutputStream , ImageFormat . Jpeg ) ;
102        }

9. WebForm1.aspx.cs文件中的InitializeComponent过程之后,添加下列代码,下列代码的作用是定义一个名称为GetColor函数,此函数的功能根据索引号得到相应的系统颜色:

/// <summary>
 2        /// 获取颜色
 3        /// </summary>
 4        /// <param name="itemIndex">数组的索引</param>
 5        /// <returns></returns>
 6        private Color GetColor ( int itemIndex ) 
 7        {
 8             Color MyColor ;
 9             int i = itemIndex ;
10            switch (i) 
11             {
12                  case 0 :
13                   MyColor = Color.Green;
14                   return MyColor;
15                  case 1 :
16                   MyColor = Color.Red;
17                    return MyColor;
18                  case 2:
19                   MyColor = Color.Yellow;
20                   return MyColor;
21                  case 3 :
22                   MyColor = Color.Blue;
23                   return MyColor;
24                  case 4 :
25                   MyColor = Color.Orange;
26                   return MyColor;
27                 case 5 :
28                   MyColor = Color.Aqua;
29                   return MyColor;
30                  case 6:
31                   MyColor = Color.SkyBlue;
32                   return MyColor;
33                  case 7:
34                   MyColor = Color.DeepPink;
35                   return MyColor;
36                  case 8:
37                   MyColor = Color.Azure;
38                   return MyColor;
39                  case 9:
40                   MyColor = Color.Brown;
41                   return MyColor;
42                  case 10:
43                   MyColor = Color.Pink;
44                   return MyColor;
45                  case 11:
46                   MyColor = Color.BurlyWood;
47                   return MyColor;
48                  case 12:
49                   MyColor = Color.Chartreuse;
50                   return MyColor;
51                  default:
52                   MyColor = Color.Pink;
53                   return MyColor;
54            }
55        }

        至此,在上述步骤都正确执行后,在ASP.NET页面中实现数据Pie图的全部工作就完成了。此时单击快捷键F5,就可以得到如图01所示的数据Pie图了。

五.总结:
  由于ASP.NET提供了丰富的绘图功能,所以结合这二篇文章的介绍,我想再实现其他的数据图表,应该也不算很困难。
完整的例子代码:

1using System;
  2using System.Collections;
  3using System.ComponentModel;
  4using System.Data;
  5using System.Drawing;
  6using System.Web;
  7using System.Web.SessionState;
  8using System.Web.UI;
  9using System.Web.UI.WebControls;
 10using System.Web.UI.HtmlControls;
 11//下面程序中使用的ImageFormat类所在的命名空间
 12using System . Drawing . Imaging ;
 13//下面程序中使用到关于数据库方面的类所在的命名空间
 14using System . Data . OleDb ;
 15
 16
 17namespace WebPieDemo
 18{
 19    /// <summary>
 20    /// WebForm1 的摘要说明。
 21    /// </summary>
 22    public class WebForm1 : System.Web.UI.Page
 23    {
 24        private void Page_Load(object sender, System.EventArgs e)
 25        {
 26            // 在此处放置用户代码以初始化页面
 27            string sRouter = "c:\\db2.mdb" ;
 28
 29            //获得当前Access数据库在服务器端的绝对路径
 30            string strCon = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + sRouter ;
 31
 32            //创建一个数据库连接
 33            OleDbConnection myConn = new OleDbConnection ( strCon ) ;
 34            string strCom = " SELECT YF ,SL FROM MonthSale ORDER BY YF" ;
 35            myConn.Open ( ) ;
 36            OleDbCommand myCommand = new OleDbCommand ( strCom , myConn ) ;
 37            OleDbDataReader myOleDbDataReader = myCommand.ExecuteReader ( ) ;
 38            //创建OleDbDataReader实例,并以此实例来获取数据库中各条记录数据
 39
 40            int [ ] iXiaoSH = new int [ 12 ] ;
 41            //定义一个数组,用以存放从数据库中读取的销售数据
 42
 43            string [ ] sMoth = new string [ 12 ] ;
 44            //定义一个数组,用以存放从数据库中读取的销售月份
 45
 46            int iIndex = 0 ;
 47            while ( myOleDbDataReader.Read ( ) ) 
 48            {
 49                iXiaoSH [ iIndex ] = myOleDbDataReader.GetInt32 ( 1 ) ;
 50                sMoth [ iIndex ] = myOleDbDataReader.GetInt32 ( 0 ) . ToString() + "月" ;
 51                iIndex++ ;
 52            }
 53            //读取Table01数据表中的各条数据,并存放在先前定义的二个数组中
 54
 55            myConn . Close ( ) ;
 56            myOleDbDataReader . Close ( ) ;
 57 
 58            Bitmap bm = new Bitmap ( 600 , 300 ) ;
 59            //创建一个长度为600,宽带为300的Bitmap实例
 60
 61            Graphics g ;
 62            g = Graphics.FromImage ( bm ) ;
 63            g . Clear ( Color . Snow ) ;
 64            g . DrawString ( " ××公司××××年度销售情况一览表" , new Font ( "宋体" , 16 ) , Brushes . Black , new Point ( 5 , 5 ) ) ;
 65            //在绘画图面的指定位置,以指定的字体、指定的颜色绘制指定的字符串。即为图表标题
 66
 67            //以下代码是是实现图01中的右上部区域
 68            //以上是在图01中为下面绘制定位
 69            Point myRec = new Point ( 515 , 30 ) ;
 70            Point myDec = new Point ( 540 , 30 ) ;
 71            Point myTxt = new Point ( 565 , 30 ) ;
 72            g . DrawString ( "单位:万套" , new Font ( "宋体" , 9 ) , Brushes . Black , new Point ( 515 , 12 ) ) ;
 73            for ( int i = 0 ; i < sMoth.Length ; i++ ) 
 74            {
 75                g . FillRectangle ( new SolidBrush ( GetColor ( i ) ) , myRec . X , myRec . Y , 20 , 10 ) ;
 76                //填充小方块
 77
 78                g . DrawRectangle ( Pens.Black , myRec . X , myRec . Y , 20 , 10 ) ;
 79                //绘制小方块
 80
 81                g . DrawString ( sMoth [ i ] . ToString ( ) , new Font ( "宋体", 9 ) , Brushes . Black , myDec ) ;
 82                //绘制小方块右边的文字
 83
 84                g . DrawString ( iXiaoSH[i].ToString (), new Font ( "宋体", 9 ) , Brushes . Black , myTxt ) ;
 85                myRec . Y += 15 ;
 86                myDec . Y += 15 ;
 87                myTxt . Y += 15 ;
 88            }
 89
 90            //以下代码是根据从数据库中得到的数值大小,绘制扇型,并以相应色彩填充扇型,//从而构成图01中的Pie图
 91            int iTatal = 0 ; 
 92            float fCurrentAngle = 0 ;
 93            float fStartAngle = 0;
 94            for ( int i = 0 ; i < iXiaoSH . Length ; i++ )
 95            {
 96                iTatal = iTatal + iXiaoSH [ i ] ;
 97            }
 98            for ( int i = 0 ; i < iXiaoSH . Length ; i++ )
 99            {
100                //以下代码是获得要绘制扇型的开始角度
101                if ( i == iXiaoSH . Length - 1 )
102                {
103                    fCurrentAngle = 360- fStartAngle ;
104                }
105                else
106                {
107                    int iTemp = iXiaoSH [ i ] ;
108                    fCurrentAngle = ( iTemp * 360 ) / iTatal ;
109                }
110                //根据参数绘制扇型
111
112                g.DrawPie ( Pens.Black , 100 , 40 , 250 , 250 , fStartAngle , fCurrentAngle ) ;
113                //以指定色彩填充绘制的扇型
114
115                g.FillPie ( new SolidBrush ( GetColor ( i ) ) , 100 , 40 , 250 , 250 , fStartAngle , fCurrentAngle ) ;
116                fStartAngle += fCurrentAngle ;
117            }
118
119            //画出图片的边框
120            Pen p = new Pen ( Color.Black , 2 ) ;
121            g . DrawRectangle ( p , 1 , 1 , 598 , 298 ) ;
122
123            //向客户端输出数据流,并以此数据流形成Jpeg图片
124            bm.Save ( Response . OutputStream , ImageFormat . Jpeg ) ;
125        }
126
127        Web 窗体设计器生成的代码
146
147        /// <summary>
148        /// 获取颜色
149        /// </summary>
150        /// <param name="itemIndex">数组的索引</param>
151        /// <returns></returns>
152        private Color GetColor ( int itemIndex ) 
153        {
154             Color MyColor ;
155             int i = itemIndex ;
156            switch (i) 
157             {
158                  case 0 :
159                   MyColor = Color.Green;
160                   return MyColor;
161                  case 1 :
162                   MyColor = Color.Red;
163                    return MyColor;
164                  case 2:
165                   MyColor = Color.Yellow;
166                   return MyColor;
167                  case 3 :
168                   MyColor = Color.Blue;
169                   return MyColor;
170                  case 4 :
171                   MyColor = Color.Orange;
172                   return MyColor;
173                 case 5 :
174                   MyColor = Color.Aqua;
175                   return MyColor;
176                  case 6:
177                   MyColor = Color.SkyBlue;
178                   return MyColor;
179                  case 7:
180                   MyColor = Color.DeepPink;
181                   return MyColor;
182                  case 8:
183                   MyColor = Color.Azure;
184                   return MyColor;
185                  case 9:
186                   MyColor = Color.Brown;
187                   return MyColor;
188                  case 10:
189                   MyColor = Color.Pink;
190                   return MyColor;
191                  case 11:
192                   MyColor = Color.BurlyWood;
193                   return MyColor;
194                  case 12:
195                   MyColor = Color.Chartreuse;
196                   return MyColor;
197                  default:
198                   MyColor = Color.Pink;
199                   return MyColor;
200            }
201        }
202    }
203}
204

 https://www.cnblogs.com/merrick/articles/1822412.html

ASP.NET页面实现数据饼图
03-04
本文要介绍的在ASP.NET页面实现数据饼图采用的基本也是这种方法。饼图有时称为\"Pie\"图,本文要实现数据饼图模样。
Asp.Net(C#)如何画图表(饼图、折线、柱状图)
gates007的专栏
10-15 2923
<br />     我们经常在项目遇到,许多的数据为了真观的体现给用户,不得不引和饼图,趋势图,等等柱状图来开形象的来呈现数据,如果在不使用第三方控件的情况下,我们都知道路在winform程序是非常容易实现的,如是webform的实现就有点麻烦。本程序是在webform上放Image控件,加上.ashx一般处理文件实现的,原理为将Image的rsc属性转到xxxxx.ashx文件处,xxxxx.ashx文件反加一张已经画好的图片,在调用xxxxx.ashx文件时可以传递参数,如用户信息,根据用户ID生
C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展
热门推荐
DannyIsCoder的博客
04-18 2万+
一.需要实现的目标是: 1.将数据绑定到pie的后台数据,自动生成饼图。 2.生成的饼图有详细文字的说明。 1.设置chart1的属性Legends默认的Legend1的Enable为false; 如图1所示: 图1 2.设置Series的ChartType为Pie,如图2所示: 图2 图3 3.后台绑定数据
ASP.net/C#实现条形图,饼状图,曲线图附源代码
weixin_30258901的博客
11-13 395
Chart.aspx.cs的代码:using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebContr...
asp.net +Echarts 图表可视化
xzhu博客
11-08 371
asp.net Api +Echarts 图表可视化
ASP.Net页面生成饼图
songjuntao8的专栏
03-09 1115
1.生成普通饼图。 using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebC
Asp.net管理信息系统数据统计功能的实现方法
01-02
数据统计是每个系统必备的功能,在给领导汇报统计数据,工作需要的进展数据时非常有用。 在我看来,一个统计的模块应该实现以下功能: 能够将常用的查询的统计结果显示出来; 显示的结果可以是表格形式,也...
ASP.NET 3D饼图
06-29
ASP.NET 3D饼图。 里面有一个页面。 动态从数据库读取数据。 自己做对应的一些小修改。
C#发现之旅源码ASP.NET
03-27
pie.aspx是演示在ASP.NET使用图形编程来显示一个带超链接的饼图。 login.aspx是演示在ASP.NET使用图形编程来使用验证码技术。 xslcreatecode.aspx基于XSLT的带插件的代码生成器 GDI+演示程序下载 椭圆形图形按钮...
ASP.Net页面生成饼图实例
01-02
本文实例讲述了ASP.Net页面生成饼图的方法。分享给大家供大家参考。具体实现方法如下: 1.生成普通饼图: 代码如下:using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Drawing : System.Web.UI.Pag
asp.net知识库
06-18
ASP.NET页面推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList C# 2.0 在.NET 2.0...
ASP.NET画图系列之实现Pie图(圆饼图)
Wind_Lam的专栏
11-20 1361
 ASP.NET自身提供的画图功能也是很强大的,在实际的项目有时也会经常用到的,实现这样的功能方法很多,诸如水晶报表之类也可以实现,但有时我们只想实现单一的某些功能或许就可以考虑画图的功能了。实现画图其实并不难,这里介绍的是通过Graphics类来产生一个Bitmap对象,接下去你是直接写到页面还是生成某个图片保存至某个路径,看你自己方便了,gfreesky在这里选择了后者作为示例,如果各位
使用ASP.NET画饼状图
weixin_30598225的博客
03-01 152
<%@ Page ContentType = "image/gif"%> <%@ Import Namespace = "System.Drawing" %> <%@ Import Namespace = "System.Drawing.Imaging" %> <%@ Import Namespace="Sys...
饼图区域内展示文字
weixin_47818125的博客
08-22 155
【代码】饼图区域内展示文字。
.net 2010 chart控件绘制饼状图
luckypeng的专栏
08-23 4074
需要实现的目标是:   1.将数据绑定到pie的后台数据,自动生成饼图。   2.生成的饼图有详细文字的说明。   具体的实现步骤:   >>前台界面的设置:   1.设置chart1的属性Legends默认的Legend1的Enable为false;   2.设置Series的ChartType为Pie   3.设置Series显示的文字内容(此处比较关键)
asp.net饼图、柱状图(ECharts)
qq_42453161的博客
05-27 2121
推荐一个优秀画图网站https://echarts.baidu.com/echarts2/doc/example.html?qq-pf-to=pcqq.c2c (饼图asp.net前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %&gt...
asp.net web form 使用echart 图表
罗汉松驻扎的工作基地
04-30 1273
之前写了一篇关于 asp.net mvc 的echart 简单使用方法,今天来一个web form 页面的。本人菜鸟,写错的请谅解。 首先要讲一下: 在mvc里面,我们可以直接通过 前台ajax请求,后台 actionResult 返回json 的方法显示数据图表, 而在web form 里面,我平时是使用 Generic handler(一般性处理文件ashx来)来接受前台的ajax 请求,然后context.Response.Write(jsonstr) 返回给前台。 首先在...
前端三剑客(html+css+js)加vue部分基础运用2
最新发布
06-11
前端三剑客(html+css+js)加vue部分基础运用2
在vue2实现3d饼图
09-07
在Vue2实现3D饼图可以使用Highcharts库来实现。Highcharts是一个强大的JavaScript图表库,它提供了丰富的图表类型和可定制的选项。 首先,你需要在你的Vue项目引入Highcharts库。可以通过以下的步骤来实现: 1...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 戴尔电脑恢复系统后,D盘被加密Bitlocker,要求输入48位密钥,才能打开D盘---解决过程 62724
  • c#串口编程(傻瓜教程,手把手教你学会) 56717
  • 如何彻底关闭Win10自动更新,Win10永久关闭自动更新的方法 54847
  • Visual Studio 2019的下载及安装 35200
  • OpenMV(一)--基础介绍与硬件架构 32607

分类专栏

  • 硬件接线 6篇
  • SuperSocket 36篇
  • 围棋 10篇
  • WIN10 4篇
  • PROFINET 24篇
  • ATMEL 29篇
  • PID 18篇
  • LabVIEW 62篇
  • Scratch编程 4篇
  • 编程猫kitten 3篇
  • STM32F407 93篇
  • IAP 5篇
  • SD卡 46篇
  • PROFIBUS DP 11篇
  • ADS1115 11篇
  • 传感器 25篇
  • MS5611 9篇
  • SD2405ALPI时钟芯片 18篇
  • 服务器和多客户端通信 48篇
  • 阿里云 46篇
  • MysqlBackup.Net 1篇
  • ASP.NET 79篇
  • AT24CXX系列芯片 12篇
  • FreeRTOS 67篇
  • 物联网 18篇
  • C# 116篇
  • MySQL 27篇
  • 4G 22篇
  • MSDOS 7篇
  • MsChart 13篇
  • NPOI 20篇
  • GPS 25篇
  • MODBUS 12篇
  • 西门子PLC 51篇
  • Android 31篇
  • OPC 4篇
  • uC/OS-III 7篇

最新评论

  • OpenMV(二)--IDE安装与固件下载

    好家伙VCC: 博主写的真棒!我最近也写关于使用 STM32CubeMX 开发,STM32+openmv通信的 PID 控制 遥控 避障 跟随循迹的文章和视频,大家可以一起交流学习一下,这是文章:https://blog.csdn.net/qq_46187594/article/details/138110155?spm=1001.2014.3001.5502 这个是视频:https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click

  • OpenMV(一)--基础介绍与硬件架构

    好家伙VCC: 博主写的真棒!我最近也写关于使用 STM32CubeMX 开发,STM32+openmv通信的 PID 控制 遥控 避障 跟随循迹的文章和视频,大家可以一起交流学习一下,这是文章:https://blog.csdn.net/qq_46187594/article/details/138110155?spm=1001.2014.3001.5502 这个是视频:https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click

  • OpenMV 机器视觉模块 简介

    好家伙VCC: 博主写的真棒!我最近也写关于使用 STM32CubeMX 开发,STM32+openmv通信的 PID 控制 遥控 避障 跟随循迹的文章和视频,大家可以一起交流学习一下,这是文章:https://blog.csdn.net/qq_46187594/article/details/138110155?spm=1001.2014.3001.5502 这个是视频:https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click

  • 开源一套MODBUS主机代码(带讲解分析)

    qq_39862529: 看了另外2篇,好像没有提及main.h 麻烦博主说明下,感谢

  • PCS7串级PID如何连线控制汽包水位三冲量

    2401_85382545: pv in接输入的db1信号,输出在pv out接db2的输出信号

大家在看

  • C++ 网络请求库cpr 63
  • 基于SpringBoot的刷题小程序的设计与实现+附源码+数据库 767
  • rabbitmq集群
  • StringBuffer中的所有方法 78
  • 多用户竞拍商城系统 挂售转卖竞拍商城系统源码 竞拍系统 竞拍系统开发定制 转拍闪拍系统 后端PHP+前端UNIAPP源码+教程

最新文章

  • 西门子S7-200SMART模拟量输入、输出模块接线
  • 西门子PLC,1200PLC如何接线,2分钟就能明白
  • 西门子S7-200 SMART系列PLC接线大全
2023年6篇
2022年111篇
2021年236篇
2020年570篇
2019年6篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

聚圣源粤语起名冷漠的所有歌曲立春剧情风云决战天门5.0主角是岳风的小说免费阅读杭州顾家家居足球比分直播500完整版u盘写保护无法格式化桃的美好寓意起名字给食品公司起名字孤独的人并不寂寞给水墨画起名字黄姓霸气的男孩起名字歌曲打包下载十二星座公主裙蔬菜公司昵称起名大全银河战士零点任务青黄不接深海浩劫下载谷歌地球黑屏起名用8划的汉字男生起英文名字推荐锐起名字好吗名字大全取名起名大全怎么样起品牌名字漫威黑豹生辰八字测算起名测算恋爱教室八字免费起名免费的起名软件推荐淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化