ASP.NET画图控件 Chart Control 免费控件
.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提供了多种绑定数据的方式:
数组绑定:
string [] xval = { "Peter", "Andrew", "Julie", "Mary", "Dave"};
Chart1.Series["Series 1"].Points.DataBindXY(xval,yval);
DataReader绑定:

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绑定:

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绑定:

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世纪开运网的紫微斗数星座在线排盘系统就是用这个控件画的,好东西不敢独享哟。
相关文章:

一步步学敏捷开发:开篇
一步步学敏捷开发:开篇 http://www.cnblogs.com/jetlian/p/3913687.html

算法也是颜值控,Twitter AI更青睐肤白貌美图
【CSDN 编者按】这是不是一个看脸的世界,谁都说不准,但是近期有研究人员发现,Twitter有这样一种AI算法:更青睐于身材好、皮肤白的年轻人的图片,哪怕这些图片经美图软件加工过。具体的情况究竟如何?下面这篇…

esxi4.1使用IDE格式磁盘
1、今天用workstation的“import and export”工具将DataOnTap系统迁移到esxi4.1下面了(具体转换方法可以参考http://taotao1240.blog.51cto.com/731446/656853)好开心啊,但是启动虚拟机的时候悲剧了,提示“在此版本中,…

jQuery 表格插件汇总
本文搜集了大量 jQuery 表格插件,帮助 Web 设计者更好地驾御 HTML 表格,你可以对表格进行横向和竖向排序,设置固定表头,对表格进行搜索,对大表格进行分页,对表格进行滚动,拖放操作等等。这些插件…

程序员门槛再被“神器”降低:只要会英文,就能写代码!
近日,OpenAI带着他们最新、最神自动编码神器Codex霸榜各大科技媒体头条,我们知道OpenAI是微软投资的通用人工智能平台,而GitHub是微软旗下的代码托管平台,这样微软出算力、OpenAI出技术、GitHub出代码的AI编程铁三角就产生了&…

微软职位内部推荐-Software Engineer II-News
微软近期Open的职位:News is a critical areas for integration of mobile and services, one of the top priorities in Microsoft. Microsoft is innovating rapidly to grow its share of this market by providing the news industry with a world-class News platform and…
css3中的box-sizing属性
盒子宽度、高度计算公式:css元素宽度 width padding bordercss元素高度 height padding border css3之前,当我们需要呈现一个宽度为200px的盒子时,我们需要减去它本身的内边距、边框,然后得知属性的width应该设置为多少。例…

影响Lucene索引速度原因以及提高索引速度技巧
在网上看了一篇外文文章,里面介绍了提高Lucene索引速度的技巧,分享给大家。先来看下影响索引的主要因素: MaxMergeDocs该参数决定写入内存索引文档个数,到达该数目后就把该内存索引写入硬盘,生成一个新的索引segment文…

java 反射 动态代理
在上一篇文章中介绍Java注解的时候,多次提到了Java的反射API。与javax.lang.model不同的是,通过反射API可以获取程序在运行时刻的内部结构。反射API中提供的动态代理也是非常强大的功能,可以原生实现AOP中 的方法拦截功能。正如英文单词refle…

公路病害检测有了“智慧眼”,思谋AI“助力”广东省高速公路
近日,思谋科技与广东省某高速企业达成合作,智慧交通一体化平台病害检测模块已成熟落地,将使广东省高速公路病害检测进入高频率、高效率、智能化时代,以行业领先的AI技术助力智慧交通产业的发展。 近年来,我国公路建设…

无准备,不编程——计算机达人成长之路(15)连载
8、俄罗斯方块(三)编码 嬉闹归嬉闹,最终二人静下心来,绍绍开始请教俄罗斯方块的设计,木鸿飞也不藏拙,马上开始讲解;“游戏其实分为三重循环,也就是可以分为三个部分。” “哪三个&am…

Memcached 缓存系统的-介绍、安装以及应用
一. memcached 是什么?memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.memcached是一个高性能的、分布式内存对象缓存系统&am…

被算法“监控”的打工人,这家公司 150 人被算法裁定为“不敬业”
整理 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 近日,一家公司通过 AI 算法裁掉三成员工的消息在网上引起热议。当你上班时突然收到一封邮件显示“效率低下”而要求马上离开公司,你会怎么想呢? 据 Game World Obser…

(转)I 帧和 IDR 帧的区别
I 帧和 IDR 帧的区别:http://blog.csdn.net/skygray/article/details/6223358 IDR 帧属于 I 帧。解码器收到 IDR frame 时,将所有的参考帧队列丢弃 (用x264_reference_reset 函数实现——在 encoder.c 文件中) 。这点是所有 I 帧…
ExtJs 备忘录(3)—— Form表单(三) [ 数据验证 ]
正文一、资料 1.1. 表单提示的方式设置,如: Ext.form.Field.prototype.msgTargetside 该设置为枚举值:qtip,side,title,under qtip:把鼠标移动到控件就可以显示提示信息了,有点像设置了title的input标签一样的效果…

Dynamo 以及一致性哈希简介
本介绍参考 Amazon 的 Dynamo 论文。需要更详细更准确信息的同学请直接阅读原文。 (原文地址http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf) 这篇论文本身没提出什么新的思想,正如论文中所说,贡献在于把非常多的技术结…

如何更快速加载你的JS页面
确保代码尽量简洁 不要什么都依赖JavaScript。不要编写重复性的脚本。要把JavaScript当作糖果工具,只是起到美化作用。别给你的网站添加大量的JavaScript代码。只有必要的时候用一下。只有确实能改善用户体验的时候用一下。 尽量减少DOM访问 使用JavaScript访问DOM元…

性价比超高:苹果发布了新数据集,助力室内场景理解
作者:刘媛媛 来源:数据实战派前言计算机视觉界一直渴望能够找到一种方法,让计算机和人们都能够理解室内场景的复杂性。对于许多基本的场景理解任务,很难或不可能从真实图像中获得每像素地面实况标签。一部分研究人员选择通过使用交…

42. fastjson处理下划线和驼峰问题的方法和源码分析
一. 前言 在开发过程中经常遇到json解析和生成的问题,所以用自己也一直用fastjson来实现这个功能。 但是,最近遇到一个问题: json字符串里面的数据很多都是"_"下划线的比如,op_id。 而在java里面,很多都是驼峰的写法&…

Cacti Weathermap添加主机在线状态图示检测
Weathermap 中文名称翻译为 气象图weathermap版本支持:0.94及最新版1、首先添加气象图 图例像这样。编辑需要添加图例的气象图配置文件 (气象图配置文件默认在/var/www/html/plugins/weathermap/configs/ 目录中)其中 KEYPOS指定全局图例名称以及 图例位置和 图例标…

jquery技巧总结
一、简介1.1、概述随着WEB2.0及ajax思想在互联网上的快速发展传播,陆续出现了一些优秀的Js框架,其中比较著名的有Prototype、YUI、jQuery、mootools、Bindows以及国内的JSVM框架等,通过将这些JS框架应用到我们的项目中能够使程序员从设计和书…

Unet网络实现叶子病虫害图像分割
作者|李秋键 出品|AI科技大本营(ID:rgznai100) 智能化农业作为人工智能应用的重要领域,对较高的图像处理能力要求较高,其中图像分割作为图像处理方法在其中起着重要作用。图像分割是图像分析的关键步骤, 在复杂的自然背景下进行图像分割, 难度较大。 在传…

SilverLight 4页面跳转大全
http://blog.csdn.net/lihaiyin/article/details/5674766 //Silverlight页面的跳转 //(Application.Current.RootVisual as IContent).Content new DragControl(); //普通页面跳转 HtmlWindow html HtmlPage.Window; //html.Navigate(new Uri("http://www.0379zd.co…

Linux 性能监控常用命令
工具简单介绍top查看进程活动状态以及一些系统状况vmstat查看系统状态、硬件和系统信息等iostat查看CPU 负载,硬盘状况sar综合工具,查看系统状况mpstat查看多处理器状况netstat查看网络状况iptraf实时网络状况监测tcpdump抓取网络数据包,详细…

jquery 1.6以上版本 全选
2019独角兽企业重金招聘Python工程师标准>>> <html xmlns"http://www.w3.org/1999/xhtml"> <head><title>全选,不全选,反选</title><script src"jquery.js" type"text/javascript"…

想提高代码水平,做到这点就够了
【CSDN 编者按】本篇文章来自于《程序员》杂志的一位老读者,他从大学时最深刻的记忆谈起,到编程路上的心得体会,再到对广大年轻程序员的建议,全篇娓娓道来,希望能对大家有所帮助。作者 | 姜宁 华为开源能力中心技术专…

modified: xxx(modified content, untracked content)
from:://http://blog.csdn.net/huguohu2006/article/details/7045052 提交代码到服务器后发现git clone下来的有些目录是空的。 查看服务器的目录果然是空的。看本季git add . 后查看git status modified: xxx(modified content, untracked content) 大概意思是xxx目录没有…

一些JSON相关的函数
JSON作为一种轻量的数据传输格式,越来越受到人们的青睐。下面是我仿照Prototype的一些实现。 JSONFilter:/^///*-secure-([/s/S]*)/*///s*$/, unfilterJSON:function(json,filter) { return json.replace((filter || dom.JSONFilter), function(a,b){ return b |…

太任性!17 岁少年买不到回国机票,因“泄愤”攻击航司系统,被判刑 4 年
整理 | 王晓曼出品 | 程序人生(ID:coder _life)因买不到回国机票,一气之下,身处境外的17岁少年陈某竟多次、持续攻击某航空公司计算机系统,致使该航空公司对外服务网络全面瘫痪近四小时,5000余万…

hbase2.0.0-安装部署
依赖hadoop 环境,我这边的版本是hadoop-2.6.5 选择hbase2.0.0版本的时候,去官网查看支持的hadoop版本 1、伪分布式安装 下载:http://mirror.bit.edu.cn/apache/hbase/2.0.0-alpha4/ 版本:hbase-2.0.0-alpha4-bin.tar.gz 2、tar -z…