.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

按照上面的地址,下载安装就可以了。

也可以在这里下载http://www.21kaiyun.com/pp.aspx

使用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研究下。

美中不足的是,MSChart只能使用在.NET3.5中。

21世纪开运网的紫微斗数星座在线排盘系统就是用这个控件画的,好东西不敢独享哟。

ASP.NET画图控件 Chart Control 免费控件相关推荐

  1. java绘制图表控件_画图控件 Chart Control -Java架构师必看

    .NET3.5中中推出了图表控件,可以同时支持Web和WinForm两种方式,由于平时很少使用,一直网络 .NET3.5中中推出了图表控件,可以同时支持Web和WinForm两种方式,由于平时很少使用 ...

  2. 一款开源且功能强大的C#甘特图控件.NET Winforms Gantt Chart Control

    甘特图在项目管理中非常重要,甘特图的思想比较简单,即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间.它直观地表明任务计划在什么时候进行,及实际进展与计划要求的对比.管理 ...

  3. ActiveX 控件“Microsoft Chart Control 6.0(sp4)(OLEDB)不能例示,因为它需要一个设计时间许可

    问题: 我的电脑上安装的VC可能不全,导致没有 MSCHRT20.OCX这个控件!于是从网上下载了这个控件,然后 在 开始菜单run "regsvr32 MSCHRT20.OCX" ...

  4. 解决找不到MSchart 控件Microsoft Chart Control, version 6.0

    最近用VC在做网站,需要将捕捉到的数据进行处理,就是绘制一个心电. 结果在添加这个MSchart 控件的时候 步骤:网站->添加引用->COM组件-> 却郁闷的找不到Microsof ...

  5. 第十一篇: Ajax Control Toolkit 控件包--下载与安装

    Ajax Control Toolkit 控件包 可以是说 == 超炫动态效果 !! 1.下载: 下载地址:http://www.codeplex.com/AtlasControlToolkit/Re ...

  6. ASP.NET 2.0 的数据源、数据绑定控件概述与区别

    一.Render UI 1 GridView GridView 控件用来在表中显示数据源的值.每列表示一个字段,而每行表示一条记录.GridView 控件支持下面的功能: 绑定至数据源控件,如 Sql ...

  7. AJAX Control Toolkit 控件学习(转自csdn山巅)

    AJAX Control Toolkit 控件学习 2006-1-16 ToggleButton 关联ASP.NET CheckBox控件 RoundedCorder 造就圆角框 PasswordSt ...

  8. .NET Framework 3.5 SP1的图表控件——Chart (转)

    基于.NET Framework 3.5 SP1的图表控件--Chart,可 在WinForm和WebForm下使用!并同时提供了大量的示例 官方主页:http://code.msdn.microso ...

  9. ajax control toolkit vs2013,如何将Ajax Control Toolkit控件安装到Visual Studio 2005工具箱

    摘要:如何将 Ajax Control Toolkit 控件安装到 Visual Studio 2005 工具箱 How to Install Ajax Control Toolkit for Vis ...

最新文章

  1. Windows通过VNC访问Kylin桌面环境
  2. 搭建 LNMP 环境
  3. mysql中修改表的默认编码和表中字段的编码
  4. 【JZOJ4307】喝喝喝
  5. 自定义拦截器用于用户登录的
  6. python:找出两个列表中相同和不同的元素(使用推导式)
  7. vue input 赋值无效
  8. Leetcode每日一题:182.duplicate-emails(查找重复的电子邮箱)
  9. no SSL-C headers found
  10. 382.链表随机节点
  11. linux打包解压工具,linux下的解压,打包工具
  12. SSM框架使用拦截器和过滤器实现登录的拦截
  13. net-java-php-python-教学资源管理系统hsg修改版计算机毕业设计程序
  14. 非常实用的论文查找网站
  15. 沧海一声笑(最好版)
  16. 网站dns服务器不能用,Win7网络诊断“DNS服务器可能不可用”怎么解决?
  17. 开源中国 开源世界2019_2019年最受欢迎的开源新闻报道
  18. 研报 | 区块链新基建:物联网+区块链如何打造差异化竞争优势?
  19. C#.NET使用TTS引擎实现文语转换
  20. 打造前端MAC工作站(一)简单系统配置

热门文章

  1. win10 动态磁盘 linux,win10系统动态磁盘改为基本磁盘的方法
  2. java一个参数 多个值_Spring里有类似@RequestParam的办法去绑定一个多值参数吧
  3. java val$name_匿名内部类 this.val$的问题
  4. jsp 插入mysql乱码_JSP MySQL插入数据时出现中文乱码问题的解决方法
  5. 楚留香手游系统互通的服务器,楚留香手游互通服务器汇总 哪些服能一起玩
  6. 优达学城《DeepLearning》2-4:自编码器(无监督学习算法)
  7. mxnet deepspeech网络结构打印
  8. python3socket非阻塞_利用Python中SocketServer 实现客户端与服务器间非阻塞通信
  9. squid中的X-Cache和X-Cache-Lookup的意义
  10. 数据科学Python训练营课程:从初级到高级 Python for Data Science Bootcamp Course:Beginner to Advanced