mschart控件下载饼图当鼠标移入时如何显示一个区域的类型?

汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(995)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'MSCHART全部属性方法介绍',
blogAbstract:'void CMoreDMcode::OnCacluteDelta(int nRow) {m_Chart.SetRedraw(false); m_Chart.SetRow(1);for(int i=1;i&=64;i++){m_Chart.GetDataGrid().SetData(i,1,nDelta[i-1],0);}CR m_Chart.GetUpdateRgn(&rgn);
m_Chart.SetRedraw(true); m_Chart.InvalidateRgn(&rgn,false) ;}
void CMoreDMcode::InitChart(){VARIANT
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:7,
publishTime:3,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'-1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}18MSChart在气象数据图形化显示中的应用
上亿文档资料,等你来发现
18MSChart在气象数据图形化显示中的应用
58;浙江气象30卷增刊;MSChart在气象数据图形化显示中的应用;朱健1庄科2周丹3王轶3;(1.绍兴县气象局,浙江绍兴.宁;摘要:MicrosoftChartControl;5技术的最新版MSChart的特性、功能、组件和;丰富生动的气象数据图形中的几个关键技术进行了初步;引言;MicrosoftChartControl(简称;技术;很
58浙 江 气 象30卷增刊MSChart在气象数据图形化显示中的应用朱 健1 庄科 2 周 丹3 王 轶3(1.绍兴县气象局,浙江绍兴.宁波市气象局,浙江宁波.浙江省气象服务中心;浙江杭州310017)摘要:MicrosoftChartControl(简称MSChart)是微软提供的一套强大的绘图控件,对基于微软.NETFramework3.5技术的最新版MSChart的特性、功能、组件和安装方法进行了详细介绍,并就如何应用MSChart控件在绘制丰富生动的气象数据图形中的几个关键技术进行了初步探讨。关键词:MSC气象数据;图形化;.NET技术引 言MicrosoftChartControl(简称).NET5的强大功能、组成技术。很强大的Com组件,,VB6的时代,图形控件,。多年来,微软一直在对MSChart进行维护和更新,随着Microsoft.NetFramework3.5的发布,微软也推出了.NET3.5框架下最新版本的MSChart,功能非常强劲,可以支持各种各样的图形显示,如点状图、饼图、柱状图、曲线图、面积图、排列图等等,大部分图形类型同时支持3D样式,支持图形上各个点的属性操作,可以定义图形上各个点、标签、图形的提示信息(Tooltip)以及超级链接、JavaScript事件等,而不是像其它图形类库仅生成一幅图片而已。通过这些,加上微软自己的Ajax框架,就可以建立一个互动图形统计报表。在决策气象服务和公共气象服务中,实况或预报的气象数据经常需要以图形的方式来显示,例如历史气象要素的时间序列图等等,而以往很多气象绘图软件通常是根据指定的数据绘制图形后输出静态的图片文件,绘图过程中需要设计人员大量的人工干预,并且数据源更新后往往需要重新绘图,这给使用者带来很大不便。基于.NETFramework3.5技术的MSChart控件为气象资料的图形显示和统计提供了很好的解决办案,通过MSChart绘制的图形除了拥有丰富多彩的表现效果外还提供强大的交互操作功能,用户可以方便的根据自己的需要调整各项参数,通过绑定数据源还可以实现图形随数1 MSChart功能介绍及控件安装1.1 MSChart的特性和功能介绍MSChart支持网页和桌面应用程序两种软件架构,能够为复杂的气象统计资料提供直观和可视化的图形展示方案。它是一个标准的.NETFramework组件,并且为MicrosoftVisualStu2dio2008开发环境特别设计。它的主要特性和功能如下:提供约36种图形类型,多数图形类型支持3D样式;自定义3D样式中,提供透视、光照、旋转、反锯齿、幻灯、阴影等多种特效;图形的缩放、滚动、实时操作;自定义图例样式,图形布局支持自动和人工管理;数据标签的智能定位、图表注释、工具提示;数据源绑定、复制、合并、分拆、排序、搜索、分组、筛选和输出;支持XML,二进制数据流;支持无限多的数据序列、数据点和绘图区域;超过50个公式的统计数据分析及转换;支持Ajax框架;支持动画和帧速控制。 30卷增刊1.2 MSChart图表的组成结构浙 江 气 象59MSChart图表展示由ChartAreas、Series、Leg2ends、Titles以及Annotations等几个主要对象集型)等等。图2为Spline和Column两种图形类型叠加的显示效果,一般Spline可以用来显示连续的气象要素如气温、气压等等,Column可以用来显示非连续的气象要素如降水、日照等等。合组成,其中ChartAreas和Series对象为必需的,下面是这些对象集合的介绍。ChartAreas:绘图区域集合对象,MSChart的图形、图例、注释、提示等信息都绘制在绘图区域上,有时候由于多个互不兼容的图形不适合放在同一个绘图区域内,因此可以在不同的绘图区域内放置不同类型的Series。例如Spline类型的平均气温时间序列图和Radar类型的风玫瑰图是互不兼容的,我们可以创建两个绘图区域,分别用来放置这两类图形。MSChart对于绘图区域的数目没有限制,它有一些重要属性,AlignmentOrientation((合)等等,用到。图1显示了在上下两个绘图区域中分别绘制图形的显示效果。图2 两种图形类型叠加的显示效果Legends:有了图形就不能缺少图例,这是图例对象集合,可以对应不同的Series建立对应的图例。每个图例又可以包含多个CustomItems和CellColumns子集,用于实现复杂叠加图形的图例显示。图例有两种放置方法,默认是在ChartArea的右侧,另一种是通过坐标进行精确控制,可以停靠在ChartArea内,通过设置DockedToChartArea属性来实现。图1中的图例是通过坐标精确控制的,图2中的图例是默认的自动控制的。Titles:图形的标题集合,可以通过Position属性设置摆放的位置,还可以TextStyle属性设置字体的阴影、描边等特殊效果,集合的数目也是没有限制的。Annotations:图形的注释对象集合,MSChart提供线形、文本、椭圆、多边形、图像等多达13种注释方法,注释对象支持用户拖动、缩放、选中等交互操作,需要注意的是,默认创建的注释是不会显示的,需要设置ArchorDataPoint属性来制定注释的对象才能启用。MSChart还有几个常用的重要属性和对象:DataSource(MSChart的数据源)、Palette(图表外观定义)、width(MSChart的宽度)、height(MSChart的高度)、Points(数据点对象集合)。1.3 MSChart开发环境和控件安装MSChart的开发环境要求较高,必须安装图1 上下两个绘图区域的显示效果Series:MSChart的核心显示对象,它是图表的集合,可以将若干种相互兼容的图形类型放在一个绘图区域里,例如可以创建3个Line类型的Series同时显示最高气温、平均气温和最低气温,Series集合包括Point、Bubble、Line、Spline、Bar、Column、Area、Pie、Stock、Range、Radar、Pyramid等多达30多种图形类型。Series有一些重要属性,如IsValueShownAsLabel(是否显示数据点标签)、Label(数据点标签文本)、LabelFormat(数据点标签文本格式)、XValueType(横坐标轴类型)、YValueType(纵坐标轴类型)、ChartType(图表类60浙 江 气 象//创建数据库查询命令30卷增刊VisualStudio2008ServicePack1和Microsoft.NETFrameworkversion3.5SP1,因为MSChart是作为OleDbCommandCmd=newOleDbCommand(mySelectQuery,myConnection);//打开数据库连接myCommand.Connection.Open();//创建数据ReaderOleDbDataReaderReader=Cmd.Exe2cuteReader(CommandBehavior.CloseConnection);//将查询结果的DrybulTemp字段绑定到Chart1中Chart1.DataBindTable,“Drybul2);Tp”2LMarkupLanguage)即可扩展一个插件的形式安装到VS2008中的,所以在开发环境准备好后需要依次安装MSChart.exe和MSChart-VisualStudioAddOn.exe两个程序包,如果需要中文环境支持,还需要安装MSChartLP-chs.exe中文语言包。安装完成后,打开VS2008,在建立项目的时候,一般就能在工具栏中看到有一个名为Chart的控件,如果没有出现,还需要添加引用,引用的命名空间为System.Web.UI.DataVisualization.Charting(用于B/S架构网页程序)和System.Windows.Forms.DataVisu2alization.Charting(用于C/S架构桌面程序)。2 应用MSChart2.1 数据绑定,它是一种简单的跨平台数据存储语言,使用一系列简单的标记描述数据。XML凭借其跨平台和易于使用的特性很快成为目前数据交换的一种重要公共语言,目前很多气象业务系统也使用XML文档来作为数据交换的中介,MSChart支持XML文档为数据源,下面是绑定XML数据文档的代码示例。//定义XML文档stringfileNameString=“data\data.xml”;//初始化一个DataSet类的实例DataSetcustDS=newDataSet();//将XML文档和数据读入DataSet.custDS.ReadXml(fileNameString);//初始化一个DataView类的实例DataViewfirstView=newDataView(custDS.Tables[0]);//将DataView的Precipitation字段绑定到Chart1的X值Chart1.DataBindTable(firstView,“Precipita2);tion”MSChart还支持数据向XML文档的输出,下,MSChart支持几种数据的添加方式,可以通过在图表的设计界面添加Points对象来添加数据,可以在后台代码中动态添加数据,也可以在图表的设计界面或后台代码中设置一个或多个数据源,将数据源直接绑定到图表中。数据绑定是MSChart的一个重要功能,因为气象数据通常是存储在数据库中的巨大数据集,并且这个数据集会随着时间而不断更新,因此绑定数据源可以使得图表显示的数据与气象资料数据库始终保持同步。开发人员常用的DataSet、DataRow、DataView、DataReader等数据源都可以方便的绑定到MSChart的Series上,并且支持多数据源的绑定,例如X轴绑定一个数据集DataSet1,Y轴可以绑定另一个数据集DataSet2。数据绑定的常用方法有DataBind()、DataBindXY()、DataBindTable()等。例如可以将自动站实况气温或湿度数据表绑定到MSChart上,这样用户在任何时候打开图表都能显示最新的实况资料,如果设置自动刷新属性还可以让MSChart动态显示最新气象数据,用于公共气象服务中的电子屏显示。下面是一段绑定到数据库查询结果的代码示例。//定义数据库查询语句stringmySelectQuery=“SELECTStation,Dry2bulTempFROMRealTimeT”;面是一段输出数据到XML文档的代码示例。//输出Series数据到DataSetDataSetdataSet=chart1.DataManipulator.Ex2(Series1”);portSeriesValues“//将DataSet中的数据导入XML文档XMLTextBox.Text=dataSet.GetXml(); 30卷增刊2.3 数据统计功能浙 江 气 象61大量的气象数据经常需要统计后显示,例如统计某一时间段的平均气温,某一时间段的累积雨量等等,MSChart利用GroupBY方法提供对数据的分组统计显示功能。分组统计是用一个数据点来代替一系列相关的数据点,通过特定公式对原始数据进行计算来形成新的分组数据。下面是按x轴分组计算累积雨量的代码示例,其中参数“SUM”是统计公式“,Precipitation”是统计对象的字段名“,累积雨量”是统计结果的文本标签。chart1.DataManipulator.GroupByAxisLabel(SUM”);““,Precipitation”“,累积雨量”MSChart显示会使图形显示效果欠佳,因此MSChart提供了主、次两套坐标系集合,包括x轴和y轴,以及第2套x轴和y轴,这4个项目的属性允许对样式、标签、间隔、范围、提示、缩放等参数进行单独设置,满足气象要素图形化显示的需要。图4a就是单y轴的显示效果,由于其中3类数据值相差范围较大,因此无法显示数据的波动,图4b则使用了3y轴,分别设置y轴范围,这样3类数据的波动特征同时反映出来了。小值,排序,。下面是在y其对应数据点标签和颜色的代码和效果图,如图3。DataPointmaxValuePoint=chart1.Series[“Series1”].Points.FindMaxValue();maxValuePoint.Color=Color.FromArgb(255,128,128);图4 多坐标轴和单坐标轴的显示效果区别2.5 绘制风玫瑰图MSChart提供了绘制风玫瑰图的功能。创建一个新的绘图区域,在这个绘图区域里放置一个Radar类型的Series,生成风玫瑰图的底图。图3 直接找出一系列数据点中的最大值和最小值然后打开Series下Points对象集合的属性面板,点击添加按钮添加16个DataPoint对象,将16个方向的风向频率数据设置为每个DataPoint的Yvalues属性,同时将表示方向的“NE”等16个文2.4 多坐标轴控制由于常常需要将多个气象要素数据叠加在一幅图形上,一套坐标系往往不够用,例如平均气温数值范围主要分布在0~30,而相对湿度的数值范围则分布在0~100,仅用一套坐标系来本字符设置为DataPoint的AxisLabel属性,一张风玫瑰图就绘制成功了。最后,可以通过Series的Appearance属性集合来调整风向频率图形的62浙 江 气 象30卷增刊样式和风格,通过ChartArea集合中Axis集合的DataView、GridTickMarks、Labels等属性来调整底图、主副网格以及文本标签的样式和风格,如图5所示。图5 2.6 3D样式设置在决策气象服务和公共气象服务中,气象数据的图形显示效果非常重要,通过设置ChartArea集合下的Area3DStyle属性,可以绘制图6 3D显示效果生动的3D图表,大大提升图形显示效果。只需要把Enable3D属性设置为TRUE就可以使图形以3D样式显示,当然这时的3D样式还十分粗糙,需要配合使用其他的一些重要属性包括In2clination(倾斜角度)、Perspective(透视角度)、Ro2tation(旋转角度)、Alpha(透明度)等等。如图6所示,通过对这些属性参数的组合调整可以绘制出一张效果逼真的3D图形。现图形随数据源的动态更新,用于公共气象电子屏显示。利用MSChart绘制的图表还支持多维数据集、事件响应、查询统计、动画显示以及多种方式的输出功能,应该成为决策气象服务、公共气象服务以及气象业务系统开发人员的有力工具。参考文献[1] 袁道伟,高振会,张燕.浮标监测数据可视化技术探讨.海3 结 语基于.NETFramework3.5技术的MSChart控件为气象资料的图形化显示和统计提供了很好的解决办案,用户可以方便的根据自己的需要调整MSChart的各项参数绘制出丰富多彩、生动逼真的气象数据图形,用于决策气象服务和公共气象服务产品中。在网页和桌面应用程序开发中,开发人员可以使用MSChart控件实现气象数据的图形化显示,通过绑定数据源还可以实洋环境科学,2008,27(Supp.2):82~84[2] 赵立民,袁大宇,钱德祥.用ASP和脚本语言技术传送MSChart控件数据在IE页面中显示气象数据统计图形[J].吉林气象,~30[3] 祝小斌.mschart示例[J/OL].VC知识库文章http:///.[4] .NETMSChart应用的一个简单例子[J/OL].http://www.</bluetiger/.[5] 微软图表控件MsChart使用初探[J/OL].http://tech.</.包含各类专业文献、中学教育、文学作品欣赏、幼儿教育、小学教育、专业论文、外语学习资料、行业资料、18MSChart在气象数据图形化显示中的应用等内容。
 1.2.2 系统设计依据及遵循标准 ISO (国际标准化...MSChart_VisualStudioAddOn 6 7 图表驱动 图表驱动 ...本系统中实时气象数据的显示是通过“实时气象信息”...  ?2 m2 平差计算--2定权 (2)边长观测值的权其中边长中误差可由 或 ps ?...化 观测手簿 先验精度数据 观测数据 图形化输入 气象数据 改化后的观测数据 ?...&#xe602; 下载
&#xe60c; 收藏
该文档贡献者很忙,什么也没留下。
&#xe602; 下载此文档
正在努力加载中...
chart.MSChart生成重叠饼图
下载积分:100
内容提示:chart.MSChart生成重叠饼图
文档格式:DOC|
浏览次数:120|
上传日期: 09:43:49|
文档星级:&#xe60b;&#xe60b;&#xe612;&#xe612;&#xe612;
该用户还上传了这些文档
chart.MSChart生成重叠饼图.DOC
道客巴巴认证
机构认证专区
加 &#xe67b; 展示
享受成长特权
官方公共微信饼型 百分比解决方案 - boris 成长之路
- 博客频道 - CSDN.NET
1)显示百分比
Chart3.Series[&Series1&].Label =
&#PERCENT{P}&
2)解决百分比设定后,legend的显示也为百分比的问题
首先确保你已经在设计器里将Chart设置为饼图形式
在chart3的属性,打开legends集合,如果还没有legend成员添加一个,添加legend成员后,在其右边 打开&&&& cellColumns集合 ,添加一个Column1,将ColumnType 选为SeriesSymbol,再添加一个Column2,将ColumnType属性选为Text,并将下面的Text属性打开,插入新关键字,选择x&#20540;,并删去原有的#LegendText,这样Legend第二列标签在显示时就会显示对应的x轴的&#20540;了。
前台代码(红褐色代码就是根据以上第二步得出来的):
&asp:Chart ID=&Chart3& runat=&server&&
&asp:Series Name=&Series1& Legend=&Legend1& ChartType=&Pie& &
&/asp:Series&
&ChartAreas&
&asp:ChartArea Name=&ChartArea1&&
&/asp:ChartArea&
&/ChartAreas&
&asp:Legend Name=&Legend1& &
&CellColumns&
&asp:LegendCellColumn ColumnType=&SeriesSymbol& Name=&Column1&&
&Margins Left=&15& Right=&15& /&
&/asp:LegendCellColumn&
&asp:LegendCellColumn Name=&Column2& Text=&#VAL&&
&Margins Left=&15& Right=&15& /&
&/asp:LegendCellColumn&
&/CellColumns&
&/asp:Legend&
&/Legends&
&/asp:Chart&
后台代码:
protected void Page_Load(object sender, EventArgs e)
//GridView1.DataSource = CreateDataTable();
//GridView1.DataBind();
Chart3.DataSource = CreateDataTable();
Chart3.Series[&Series1&].Label = &#PERCENT{P2}&;
Chart3.Series[&Series1&].ChartType = SeriesChartType.P
Chart3.Series[&Series1&].YValueMembers = &项目收入&;
Chart3.Series[0].XValueMember = &Date&;
Chart3.DataBind();
// Set point labels
Chart3.Series[&Series1&].IsValueShownAsLabel =
private DataTable CreateDataTable()
//Create a DataTable as the data source of the chart control
DataTable dt = new DataTable();
dt.TableName = &MyTable&;
//Add three columns to the DataTable
dt.Columns.Add(&Date&);
dt.Columns.Add(&项目收入&);
dt.Columns.Add(&其他收入&);
//Add rows to the table which contains some random data for demonstration
dr = dt.NewRow();
dr[&Date&] = &Jan&;
dr[&项目收入&] = 3731;
dr[&其他收入&] = 4101;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[&Date&] = &Feb&;
dr[&项目收入&] = 6024;
dr[&其他收入&] = 4324;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[&Date&] = &Mar&;
dr[&项目收入&] = 4935;
dr[&其他收入&] = 2935;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[&Date&] = &Apr&;
dr[&项目收入&] = 4466;
dr[&其他收入&] = 5644;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[&Date&] = &May&;
dr[&项目收入&] = 5117;
dr[&其他收入&] = 5671;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[&Date&] = &Jun&;
dr[&项目收入&] = 3546;
dr[&其他收入&] = 4646;
dt.Rows.Add(dr);
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:17491次
排名:千里之外
原创:22篇
转载:24篇
(6)(3)(8)(29)}

我要回帖

更多关于 mschart控件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信