用dotnetCHARTING 制作柱形图,折线图和圆饼图.doc_第1页
用dotnetCHARTING 制作柱形图,折线图和圆饼图.doc_第2页
用dotnetCHARTING 制作柱形图,折线图和圆饼图.doc_第3页
用dotnetCHARTING 制作柱形图,折线图和圆饼图.doc_第4页
用dotnetCHARTING 制作柱形图,折线图和圆饼图.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

最近由于项目需要,要做几个统计图. 网上找了找发现了ZedGraph控件和dotnetCHARTIN控件.ZedGraph:支持winform和webform。支持可视化设计,并且最主要他是开源的.dotnetCHARTIN:需要到网上找破解版的 下载地址:/xiaogangqq123/dotnetcharting.rar网上说dotnetCHARTIN这个控件比较耗费性能.并且支持二维和三维.ZedGraph控件开源.扩展性强,但是只支持二维图形.性能较好.由于项目需要三维的 所以选择了dotnetCHARTIN这个.通过几次反复测试.感觉dotnetCHARTIN性能还行.当然是在理想情况下.由于网上dotnetCHARTIN资料较少.看了下帮助文档.自己做了个Demo分别对10条线一万条数据和10条10万条数据做了个初步测试.1万条:生成图片速度大概在2秒到5秒;10万条:速度估计在5秒-10秒之间 ,大体是这个样子.贴出代码:C#代码 public class Charting #region 共有变量 / / 图片存放路径 / public string PhaysicalImagePath get; set; / / 标题 / public string Title get; set; / / X轴名称 / public string XName get; set; / / Y轴名称 / public string YName get; set; / / 图例名称 / public string SeriseName get; set; / / 宽度 / public int SeriseWidth get; set; / / 高度 / public int SeriseHeight get; set; / / 数据源 / public DataTable DataSoure get; set; public bool IsUse3D get; set; public CharType type get; set; #endregion public Charting() / / 柱形图 / / public void CreateCombo(dotnetCHARTING.Chart Chart1) Chart1.Title = Title; Chart1.XAxis.Label.Text = XName; Chart1.YAxis.Label.Text = this.YName; Chart1.TempDirectory = this.PhaysicalImagePath; Chart1.Width = this.SeriseWidth; Chart1.Height = this.SeriseHeight; Chart1.Type = ChartType.Combo; Chart1.Series.Type = SeriesType.Cylinder; Chart1.Series.Name = this.SeriseName; Chart1.Series.Data = this.DataSoure; Chart1.SeriesCollection.Add(); Chart1.DefaultSeries.DefaultElement.ShowValue = true; Chart1.ShadingEffect = true; Chart1.Use3D = IsUse3D; Chart1.Series.DefaultElement.ShowValue = true; / / 饼图 / / public void CreatePie(dotnetCHARTING.Chart Chart1) Chart1.Title = Title; Chart1.XAxis.Label.Text = XName; Chart1.YAxis.Label.Text = this.YName; Chart1.TempDirectory = this.PhaysicalImagePath; Chart1.Width = this.SeriseWidth; Chart1.Height = this.SeriseHeight; Chart1.Type = ChartType.Pie; Chart1.Series.Type = SeriesType.Cylinder; Chart1.Series.Name = this.SeriseName; Chart1.ShadingEffect = true; Chart1.Use3D = IsUse3D; Chart1.DefaultSeries.DefaultElement.Transparency = 20; Chart1.DefaultSeries.DefaultElement.ShowValue = true; Chart1.PieLabelMode = PieLabelMode.Outside; Chart1.SeriesCollection.Add(getArrayData(); Chart1.Series.DefaultElement.ShowValue = true; private SeriesCollection getArrayData() SeriesCollection SC = new SeriesCollection(); DataTable dt = this.DataSoure; for (int i = 0; i dt.Rows.Count; i+) Series s = new Series(); s.Name = dt.Rowsi0.ToString(); Element e = new Element(); / 每元素的名称 e.Name = dt.Rowsi0.ToString(); / 每元素的大小数值 e.YValue = Convert.ToDouble(dt.Rowsi1.ToString(); s.Elements.Add(e); SC.Add(s); return SC; / / 曲线图 / / public void CreateLine(dotnetCHARTING.Chart Chart1) Chart1.Title = Title; Chart1.XAxis.Label.Text = XName; Chart1.YAxis.Label.Text = this.YName; Chart1.TempDirectory = this.PhaysicalImagePath; Chart1.Width = this.SeriseWidth; Chart1.Height = this.SeriseHeight; Chart1.Type = ChartType.Combo; /此处一定要用DefaultSeries.Type = SeriesType.Line 否则没效果 Chart1.DefaultSeries.Type = SeriesType.Line; Chart1.Series.Name = this.SeriseName; Chart1.Series.Data = this.DataSoure; Chart1.SeriesCollection.Add(); Chart1.DefaultSeries.DefaultElement.ShowValue = true; Chart1.ShadingEffect = false; Chart1.Use3D = IsUse3D; Chart1.Series.DefaultElement.ShowValue = true; 前台调用Code:代码 Charting ch = new Charting(); ch.Title = 统计; ch.XName = 国家; ch.YName = 数量(亿); ch.SeriseName = Num; ch.SeriseHeight = 500; ch.SeriseWidth = 1240; ch.PhaysicalImagePath = temp; ch.DataSoure = GetData.GetTablePie(); ch.IsUse3D = true; /创建图形,Chart1页面dotnetChartin的控件ID ch.Cre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论