资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
MSChart 使用技巧总结上一篇文章写了 用 dotnetCHARTING 制作柱形图,折线图和圆饼图 园友一直在推荐用微软的 MSChart.于是,这几天工作之余研究了一下, 其中也发现了不少问题.首先当然需要下载 MSChart 下载地址 而且微软官方有个很不错的实例代码可以帮助学习使用 MSChart 下载地址,当然不用我说.大家也知道的. 需要 NET Framework 3.5 以及配合 VS2008 sp1 来使用了,至于 vs2010 好像还没有发现 MSChart ,希望有知道的朋友给点帮助.安装完 MSChart 后 在 vs2008 报表一栏里会出现 MSChart 控件.二话不说 拖到页面.自动生成如下代码:代码 复制代码相信在你们看过微软的实例后对这些属性会有一些了解滴.然后进入正题,本文也主要介绍 MSChart 的 折线图,圆饼图,和柱状图, 因为这三种本人感觉是最常用的.对于这三种用 MSChart 来实现的话本人感觉比较困难的就是数据绑定带来的麻烦,因为在我们平时使用的时候基本都是动态的数据,而微软实例基本都是写死在页面上的数据, 而且网上这方面资料也比较少,只能自己动手实践啦.先介绍几种 MSChart 的数据绑定方式,第一种,也是最通俗的一种Chart1.DataSource = GetData.GetChartData();Chart1.SeriesChartArea1.XValueMember = home;Chart1.SeriesChartArea1.YValueMembers = num1;复制代码第二种往后都是通过 List 的集合形式绑定数据,这里就用变量 list 来代替了.一些变量都是对应实体类的名称当然也对应数据库字段Chart1.DataBindTable(list, home);home是 x 轴坐标第三种,home 分组,Time X 轴坐标,num1 y 轴坐标Chart1.DataBindCrossTable(list, home, Time, num1, Label=num1,ToolTip=num1);第三种,折线图绑定方式Chart1.Series0.Points.DataBind(list, home, num1, Label=num1,ToolTip=num1);第四种,折线图绑定方式代码 Chart1.DataBindCrossTable(list, home, Time, num1, Label=num1,ToolTip=num1);/绘制线条MarkerStyle marker = MarkerStyle.Square;foreach (Series ser in Chart1.Series)ser.ShadowOffset = 1;ser.BorderWidth = 2;ser.ChartType = SeriesChartType.Line;ser.MarkerSize = 12;ser.MarkerStyle = marker;ser.MarkerBorderColor = Color.FromArgb(64, 64, 64);ser.Font = new Font(Trebuchet MS, 8, FontStyle.Regular);marker+; 复制代码第五种:Chart1.SeriesSeries1.Points.DataBindXY(list, home, list, num1);我所了解的就这么几种了,有朋友知道有更好的绑定方式不妨贴上代码来.下面介绍下 MSChart 下的柱形图常用的属性这篇博客都有介绍,在这里我就不罗嗦了.http:/www.cnblogs.com/wenjl520/archive/2009/05/16/1458461.html代码 /是否启用 3D 显示Chart1.ChartAreas0.Area3DStyle.Enable3D = true;/显示类型 ,可以是柱形 折线等等Chart1.Series0.ChartType = SeriesChartType.Line;/ Draw as 3D CylinderChart1.Series0DrawingStyle = Cylinder;/像素点见宽度Chart1.Series0PointWidth = 0.8;/是否显示数值Chart1.Series0.IsValueShownAsLabel = true;/X 轴数据显示间隔Chart1.ChartAreas0.AxisX.Interval = 1;/直角坐标显示,Chart1.ChartAreas0.Area3DStyle.IsRightAngleAxes = false;/是否群集在一起Chart1.ChartAreas0.Area3DStyle.IsClustered = false;/转动 X 轴角度Chart1.ChartAreas0.Area3DStyle.Inclination = 40;/转动 Y 轴角度Chart1.ChartAreas0.Area3DStyle.Rotation = 20;foreach (Series ser in Chart1.Series)/柱形宽度serPixelPointWidth = 40;/像素点深度serPixelPointDepth = 80;/像素点间隙深度serPixelPointGapDepth = 10;复制代码这些属性都是设置 MSChart 的外观样式的属性,大家可以尝试修改试试,当然主要的是绑定数据了.所以在调用这些属性时先用上文介绍的几种绑定方式绑定数据.有些属性可能在 3D 模式下失效或者在 2D 模式下失效,这是正常现象,效果图:折线图:属性同上.有些属性会在折线图下失效,效果图:圆饼图:代码 IList list = GetData.GetChartDataListByPie();/数值显示百分比形式Chart1.SeriesSeries1.Label = #PERCENTP;Chart1.SeriesSeries1.Points.DataBind(list, home, num1, LegendText=home,YValues=num1,ToolTip=num1);Chart1.SeriesSeries1.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie;Chart1.SeriesSeries1.ToolTip = #LEGENDTEXT: #VALC million;Chart1.ChartAreasChartArea1.Area3DStyle.Enable3D = true;复制代码这个比较简单吧.主要是这里的 Chart1.SeriesSeries1.Points.DataBind(list, home, num1, LegendText=home,YValues=num1,ToolTip=num1);LegendText 整了我半天.这个是显示右侧说明的 ,开始老是显示不出来,而且还不统一.Legend 其实就是右侧显示的说明,但是做过的朋友会发现在柱形图还有折线图如果页面指定了一个 标签的话,会多显示一个,所以需要在执行绑定的时候写上这么一段代码 Chart1.Series.Clear();MSChart 可不止可以制作这三种图形,我只是觉得这三种比较常用.想在圆饼图中合并几项成显示成其他,搞了半天没搞出来,郁闷,谁知道告诉下
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号