Csharp/C#教程:C#画图之饼图折线图的实现方法分享

本文实例讲述了C#画图之饼图折线图的实现方法,是C#程序设计中非常实用的技巧。分享给大家供大家参考。具体方法分析如下:

显示图像的控件定义如下:

publicPlaceHolderPlaceHolder1;

各个图像的类别名称如下:

PictureType   图形种类   5   chChartTypeBarClustered   簇状条形图   0   NULL

PictureType   图形种类   7   chChartTypeBarClustered3D   三维簇状条形图   0   NULL

PictureType   图形种类   6   chChartTypeBarStacked   堆积条形图   0   NULL

PictureType   图形种类   8   chChartTypeBarStacked3D   三维堆积条形图   0   NULL

PictureType   图形种类   1   chChartTypeColumnClustered   簇状柱形图   0   NULL

PictureType   图形种类   3   chChartTypeColumnClustered3D   三维簇状柱形图   0   NULL

PictureType   图形种类   2   chChartTypeColumnStacked   堆积柱状图   1   NULL

PictureType   图形种类   4   chChartTypeColumnStacked3D   三维堆积柱形图   0   NULL

PictureType   图形种类   13   chChartTypeLine   折线图   0   NULL

PictureType   图形种类   15   chChartTypeLineMarkers   数据点折线图   0   NULL

PictureType   图形种类   14   chChartTypeLineStacked   堆积折线图   0   NULL

PictureType   图形种类   16   chChartTypeLineStackedMarkers   堆积数据点折线图   0   NULL

PictureType   图形种类   17   chChartTypePie   饼图   1   NULL

PictureType   图形种类   19   chChartTypePie3D   三维饼图   0   NULL

PictureType   图形种类   18   chChartTypePieExploded   分离型饼图   0   NULL

PictureType   图形种类   20   chChartTypePieExploded3D   分离型三维饼图   0   NULL

PictureType   图形种类   9   chChartTypeSmoothLine   平滑线图   0   NULL

PictureType   图形种类   10   chChartTypeSmoothLineMarkers   数据点平滑线图   0   NULL

PictureType   图形种类   11   chChartTypeSmoothLineStacked   堆积平滑线图   0   NULL

PictureType   图形种类   12   chChartTypeSmoothLineStackedMarkers   堆积数据平滑线图   0   NULL

取图像的方法如下:

///</summary> ///<paramname="dbDtViewWrk">传递的数据</param> ///<paramname="strAbsolutePath">绝对路径</param> ///<paramname="strRelativePath">相对路径</param> ///<paramname="ChartType">要画的图格式(饼图或者折线图等)</param> ///<paramname="strTitle">统计名称</param> publicvoidPaintToImage(DataTabledbDtViewWrk,stringstrAbsolutePath,stringstrRelativePath,ChartChartTypeEnumChartType,stringstrTitle) { stringstrSeriesName="图例"; //存放项目 string[]ItemsName=newstring[dbDtViewWrk.Rows.Count]; //存放数据 string[]ItemsCount=newstring[dbDtViewWrk.Rows.Count]; //刻度单位 intiUnit=1; //最大值 intiMaxValue=0; stringstrXdata=String.Empty; stringstrYdata=String.Empty; //为数组赋值 for(inti=0;i<dbDtViewWrk.Rows.Count;i++) { ItemsName[i]=dbDtViewWrk.Rows[i][0].ToString();//要统计的字段免费精选名字大全 ItemsCount[i]=dbDtViewWrk.Rows[i][5].ToString();//要统计的字段数据 } //为x轴指定特定字符串,以便显示数据 //stringstrXdata=String.Empty; foreach(stringstrDatainItemsName) { strXdata+=strData+"t"; } //stringstrYdata=String.Empty; //为y轴指定特定的字符串,以便与x轴相对应 foreach(stringstrValueinItemsCount) { strYdata+=strValue+"t"; if(int.Parse(strValue)>iMaxValue) { iMaxValue=int.Parse(strValue); } } if(iMaxValue>20) { iUnit=iMaxValue/10; } //创建ChartSpace对象来放置图表 ChartSpacelaySpace=newChartSpaceClass(); //在ChartSpace对象中添加图表 ChChartInsertChart=laySpace.Charts.Add(0); //底座颜色 InsertChart.PlotArea.Interior.Color="white"; //指定绘制图表的类型。类型可以通过OWC.ChartChartTypeEnum枚举值得到 InsertChart.Type=ChartType;//柱形图 //指定图表是否需要图例标注 InsertChart.HasLegend=true; InsertChart.BarWidth=0; InsertChart.Legend.Position=ChartLegendPositionEnum.chLegendPositionBottom; InsertChart.HasTitle=true;//为图表添加标题 InsertChart.Title.Caption=strTitle;//标题名称 //为x,y轴添加图示说明 if(ChartType.ToString().IndexOf("ChartTypePie")==-1) { InsertChart.Axes[0].Font.Size=11;//X轴 InsertChart.Axes[1].Font.Size=11;//Y轴 InsertChart.Legend.Font.Size=11; InsertChart.Axes[0].HasTitle=true; InsertChart.Axes[0].Title.Caption="";//月份 InsertChart.Axes[1].HasTitle=true; //InsertChart.Axes[1].Scaling.SplitMinimum=200; InsertChart.Axes[1].Title.Caption="数量"; InsertChart.Axes[1].MajorUnit=iUnit;//刻度单位设置 InsertChart.Axes[1].Scaling.Minimum=0;//最小刻度=0 } //添加一个series系列 InsertChart.SeriesCollection.Add(0); //给定series系列的免费精选名字大全 InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimSeriesNames,+(int)ChartSpecialDataSourcesEnum.chDataLiteral,strSeriesName); //给定分类 strXdata=strXdata.Substring(0,strXdata.Length-1); InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories,+(int)ChartSpecialDataSourcesEnum.chDataLiteral,strXdata); //给定值 strYdata=strYdata.Substring(0,strYdata.Length-1); InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues,(int)ChartSpecialDataSourcesEnum.chDataLiteral,strYdata); //添加标签 ChDataLabelsdls=InsertChart.SeriesCollection[0].DataLabelsCollection.Add(); if(ChartType.ToString().IndexOf("ChartTypePie")!=-1) { dls.Position=ChartDataLabelPositionEnum.chLabelPositionCenter; dls.HasPercentage=false; //dls.HasValue=false; dls.HasCategoryName=false; //指定图表是否需要图例标注 InsertChart.HasLegend=true; InsertChart.Legend.Position=ChartLegendPositionEnum.chLegendPositionBottom; } //输出文件. intiImageLength=0; intiImageWidth=0; //从Config文件取得设置 //iImageLength=int.Parse(WebConfigurationManager.AppSettings["ShowImageLength"]); //iImageWidth=int.Parse(WebConfigurationManager.AppSettings["ShowImageWidth"]); iImageLength=450; iImageWidth=300; stringstrImageName=ChartType.ToString()+"_"+Guid.NewGuid().ToString("N")+".png"; laySpace.ExportPicture(strAbsolutePath+strImageName,"PNG",450,300); //把图片添加到placeholder中,并在页面上显示 stringstrImageTag="<IMGWIDTH='450'SRC='"+strRelativePath+strImageName+"'/>"; this.PlaceHolder1.Controls.Add(newLiteralControl(strImageTag)); //returnstrImageTag; }

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:C#控件picturebox实现图像拖拽和缩放c#给button添加不规则的图片以及用pictureBox替代button响应点击事件的方法C#利用GDI+画图的基础实例教程使用C#实现在屏幕上画图效果的代码实例C#控件picturebox实现画图功能

标签: 饼图 方法 折线图

详解C语言编程中的函数指针以及函数回调

深入解析C语言中函数指针的定义与使用

上述就是C#学习教程:C#画图之饼图折线图的实现方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/905779.html

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐