.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提供了多种绑定数据的方式:
数组绑定:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->double[]yval={2,6,4,5,3};
string[]xval={"Peter","Andrew","Julie","Mary","Dave"};
Chart1.Series["Series1"].Points.DataBindXY(xval,yval);
DataReader绑定:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->stringfileNameString=this.MapPath(".");
fileNameString+="..\\..\\..\\..\\data\\chartdata.mdb";
stringmyConnectionString="PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource="+fileNameString;
stringmySelectQuery="SELECTName,SalesFROMREPSWHERERegionID<3;";
OleDbConnectionmyConnection=newOleDbConnection(myConnectionString);
OleDbCommandmyCommand=newOleDbCommand(mySelectQuery,myConnection);
myCommand.Connection.Open();
OleDbDataReadermyReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection);
Chart1.Series["Default"].Points.DataBindXY(myReader,"Name",myReader,"Sales");
myReader.Close();
myConnection.Close();
DataTable绑定:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->stringfileNameString=this.MapPath(".");
fileNameString+="..\\..\\..\\..\\data\\chartdata.mdb";
stringmyConnectionString="PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource="+fileNameString;
stringmySelectQuery="SELECTName,SalesFROMREPS;";
OleDbConnectionmyConnection=newOleDbConnection(myConnectionString);
OleDbCommandmyCommand=newOleDbCommand(mySelectQuery,myConnection);
myCommand.Connection.Open();
OleDbDataReadermyReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection);
Chart1.DataBindTable(myReader,"Name");
myReader.Close();
myConnection.Close();
Excel绑定:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->stringfileNameString=this.MapPath(".");
fileNameString+="..\\..\\..\\..\\data\\ExcelData.xls";
stringsConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+
fileNameString+";ExtendedProperties=\"Excel8.0;HDR=YES\"";
OleDbConnectionmyConnection=newOleDbConnection(sConn);
myConnection.Open();
OleDbCommandmyCommand=newOleDbCommand("Select*From[data1$A1:E25]",myConnection);
OleDbDataReadermyReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection);
Chart1.DataBindTable(myReader,"HOUR");
myReader.Close();
myConnection.Close();
foreach(SeriesserinChart1.Series)
{
ser.ShadowOffset=1;
ser.BorderWidth=3;
ser.ChartType=SeriesChartType.Line;
}
还有其他形式的数据绑定,大家可以下载微软的DEMO研究下。
美中不足的是,MSChart只能使用在.NET3.5中,2.0中大家可以看看这个:
http://www.cnblogs.com/gaoweipeng/archive/2009/04/18/1438821.html
分享到:
相关推荐
初试 ASP.NET Chart Control 83 微软图表控件使用初探--数据绑定(交叉表) 88 MSChart图表控件的一些使用 96 微软Chart控件导学--数据绑定 110 Mschart学习(MSchart介绍) 116 微软图表控件MsChart使用初探 122 微软...
初试 ASP.NET Chart Control 83 微软图表控件使用初探--数据绑定(交叉表) 88 MSChart图表控件的一些使用 96 微软Chart控件导学--数据绑定 110 Mschart学习(MSchart介绍) 116 微软图表控件MsChart使用初探 122 ...
初试牛刀,欢迎指导,一个小模块文件的上传和管理,文件是存在数据库上的,感兴趣的话,可以看看。
研究生初试录取信息管理系统 课程设计 说明书
csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟...
课程设计中的使用visual studio编写的c++代码,研究生初试录取管理系统,任务书已经找不到了,,,所有代码+调试文件如上
武汉科技大学 计算机 考研 软件工程初试 包含 -- 期末考试试卷 -- 真题 --预测
国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。编程统计初试合格的人数,并按总分由高...
应聘人员初试测评表 评价人姓名: 职务: 面试时间: 应聘人姓名: 性别: 年龄: 编号: 应聘职位: 原单位: 评价方向 评价要素 评价等级 1(差) 2(较差) 3(一般) 4(较好) 5(好) 个人基本素质 评价 1、...
安徽大学,计算机科学与技术,考研初试资料,希望能帮助到各位考研er 考研初试资料 考研初试资料 考研初试资料
研究生初试录取代码 java 操作 绝对经典
嵌入式工程师初试试题,主要有C程序设计部分,单片机基础部分,arm部分
新人教统编版六年级下册语文 交流平台与初试身手课件 教学课件.pptx
武汉理工初试复试汇总-852数据结构复习课件及文档+数据结构研究生入学考试试题,+复试经验
新人教统编版五年级下册语文 交流平台与初试身手 课件.pptx
研究生初试cpp文件,可以完成文件操作功能,统计研究生录取结果
09年高校初试排名09年高校初试排名09年高校初试排名
初试extJs初试extJs初试extJs初试extJs初试extJs初试extJs
大连大学2023年初试科目大纲汇总.rar
C语言 关于研究生初试录取管理系统的C语言课程设计报告