http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4201|回复: 0

[Asp.Net] ASP.NET Chart Control

[复制链接]
发表于 2013-8-22 09:16:18 | 显示全部楼层 |阅读模式
.NET3.5中中推出了图表控件,可以同时支持Web和WinForm两种方式,由于平时很少使用,一直没有玩玩,闲来无事,简单研究了下,感觉 功能真的很强大,基本上可以满足各种图表的应用,感觉这么好用的东西才研究,真是有些落伍啊,哈哈,想必很多人已经早已玩过,这里帮大家复习下,高手绕 过。
安装MSChart
由于是和.NET3.5一起推出来的,所以只能在最新的开发环境中使用,需要.Net 3.5 Sp1和VS 2008的开发环境。
控件下载地址: Microsoft .NET Framework 3.5 的 Microsoft 图表控件(Microsoft Chart Controls for Microsoft .NET Framework 3.5)
微软提供的Demo:http://code.msdn.microsoft.com/mschart
按照上面的地址,下载安装就可以了。
使用MSChart
安装好后,我们就可以使用MSChart了。
1.主要属性:

Annotations--图形注解集合,ChartAreas--图表区域集合,Legends--图例集合,Series--图表序列集合(即图表数据对象集合),Titles--图标的标题集合。
(1)Annotations:是一个对图形的一些注解对象的集合,所谓注解对象,类似于对某个点的详细或者批 注的说明。一个图形上可以拥有多个注解对象,可以添加十多种图形样式的注解对象,包括常见的箭头、云朵、矩行、图片等等注解符号,通过各个注解对象的属 性,可以方便的设置注解对象的放置位置、呈现的颜色、大小、文字内容样式等常见的属性。
(2)ChartAreas:是一个图表的绘图区,比如在一幅图中显示多个绘图。图表控件并不限制你添加多少个绘图区域,你可以根据你的需要进行添加。对于每一个绘图区域,你可以设置各自的属性,如:X,Y轴属性、背景等。
(3)Legends:是一个图例的集合,即标注图形中各个线条或颜色的含义,同样,一个图片也可以包含多个图例说明。
(4)Series:是表数据对象集合,应该说是MSChart关键部分。即是实际的绘图数据区域,实际呈现的图形形状,由此集合中的每一个图表来构成的,可以往集合里面添加多个图表,每一个图表可以有自己的绘制形状、样式、独立的数据等。
(5)Titles:图标的标题集合,不难理解,就是图表的标题配置,同样可以添加多个标题。

其他属性:
AlignmentOrientation:图表区对齐方向,定义两个绘图区域间的对齐方式。
AlignmentStyle:图表区对齐类型,定义图表间用以对其的元素。
AlignWithChartArea:参照对齐的绘图区名称。
InnerPlotPosition:图表在绘图区内的位置属性。
Auto:是否自动对齐。
Height:图表在绘图区内的高度(百分比,取值在0-100)
Width:图表在绘图区内的宽度(百分比,取值在0-100)
X,Y:图表在绘图区内左上角坐标
Position:绘图区位置属性,同InnerPlotPosition。
Name:绘图区名称。
Axis:坐标轴集合
TitleAlignment:坐标轴标题对齐方式
Interval:轴刻度间隔大小
IntervalOffset:轴刻度偏移量大小
MinorGrid:次要辅助线
MinorTickMark:次要刻度线
MajorGrid:主要辅助线
MajorTickMark:主要刻度线
DataSourceID:MSChart的数据源。
Palette:图表外观定义。
IsValueShownAsLabel:是否显示数据点标签,如果为true,在图表中显示每一个数据值
Label:数据点标签文本
LabelFormat:数据点标签文本格式
LabelAngle:标签字体角度
Name:图表名称
Points:数据点集合
XValueType:横坐标轴类型
YValueType:纵坐标轴类型
XValueMember:横坐标绑定的数据源(如果数据源为Table,则填写横坐标要显示的字段名称)
YValueMembers:纵坐标绑定的数据源(如果数据源为Table,则填写纵坐标要显示的字段名称,纵坐标可以有两个)
ChartType:图表类型(柱形、饼形、线形、点形等)
width:MSChart的宽度。
height:MSChart的高度。
2.数据绑定方式
MSChart提供了多种绑定数据的方式:
数组绑定:

            double [] yval = { 2,6,4,5,3};
            
string [] xval = { "Peter", "Andrew", "Julie", "Mary", "Dave"};
            Chart1.Series[
"Series 1"].Points.DataBindXY(xval,yval);


DataReader绑定:

代码             string fileNameString = this.MapPath(".");
            fileNameString
+= "..\\..\\..\\..\\data\\chartdata.mdb";
            
string myConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileNameString;
            
string mySelectQuery="SELECT Name, Sales FROM REPS WHERE RegionID < 3;";
            OleDbConnection myConnection
= new OleDbConnection(myConnectionString);
            OleDbCommand myCommand
= new OleDbCommand(mySelectQuery, myConnection);
            myCommand.Connection.Open();
            OleDbDataReader myReader
= myCommand.ExecuteReader(CommandBehavior.CloseConnection);
            Chart1.Series[
"Default"].Points.DataBindXY(myReader, "Name", myReader, "Sales");
            myReader.Close();
            myConnection.Close();




DataTable绑定:

代码 string fileNameString = this.MapPath(".");
            fileNameString
+= "..\\..\\..\\..\\data\\chartdata.mdb";
            
string myConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileNameString;
            
string mySelectQuery="SELECT Name, Sales FROM REPS;";   
            OleDbConnection myConnection
= new OleDbConnection(myConnectionString);
            OleDbCommand myCommand
= new OleDbCommand(mySelectQuery, myConnection);   
            myCommand.Connection.Open();
            OleDbDataReader myReader
= myCommand.ExecuteReader(CommandBehavior.CloseConnection);
            Chart1.DataBindTable(myReader,
"Name");
            myReader.Close();
            myConnection.Close();




Excel绑定:

代码 string fileNameString = this.MapPath(".");
            fileNameString
+= "..\\..\\..\\..\\data\\ExcelData.xls";
            
string sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
                fileNameString
+ ";Extended Properties=\"Excel 8.0;HDR=YES\"";
            OleDbConnection myConnection
= new OleDbConnection( sConn );
            myConnection.Open();
            OleDbCommand myCommand
= new OleDbCommand( "Select * From [data1$A1:E25]", myConnection );
            OleDbDataReader myReader
= myCommand.ExecuteReader(CommandBehavior.CloseConnection);
            Chart1.DataBindTable(myReader,
"HOUR");
            myReader.Close();
            myConnection.Close();
            
foreach(Series ser in Chart1.Series)
            {
                ser.ShadowOffset
= 1;
                ser.BorderWidth
= 3;
                ser.ChartType
= SeriesChartType.Line;
            }        





还有其他形式的数据绑定,大家可以下载微软的DEMO研究下。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-19 09:53

© 2014-2021

快速回复 返回顶部 返回列表