技术开发 频道

OWC画图表


【IT168技术文档】

  由于需要用,自己查一些资料,写的一个OWC画图表的方法,希望有用
/// <summary> /// 生成图表 /// </summary> /// <param name="strSeriesName">图表名称</param> /// <param name="strCategory">类型</param> /// <param name="strValue"></param> /// <param name="Caption">图标标题</param> /// <param name="Type">类型</param> /// <param name="Longth">图片长</param> /// <param name="Width">图片宽</param> public string GengerateChart(string strSeriesName, string strCategory, string strValue, string Caption, string Type, int Longth, int Width) { string chartSeriesName = strSeriesName; string chartCategory = strCategory; string chartValue = strValue; string chartCaption = Caption; string chartType = Type; int chartLongth = Longth; int chartWidth = Width; //创建ChartSpace对象来放置图表 ChartSpace laySpace = new ChartSpaceClass(); //在ChartSpace对象中添加图表 ChChart InsertChart = laySpace.Charts.Add(0); switch (chartType) { case "Pie"://饼状图 { InsertChart.Type = ChartChartTypeEnum.chChartTypePie; InsertChart.HasLegend = true; InsertChart.HasTitle = true;//为图表添加标题 InsertChart.Title.Caption = chartCaption;//标题名称 InsertChart.Title.Font.Color = "Blue"; InsertChart.Title.Font.Name = "黑体"; //指定图表是否需要图例标注 InsertChart.HasLegend = true; } break; case "Line"://折线图 { InsertChart.Type = ChartChartTypeEnum.chChartTypeLine; //指定图表是否需要图例标注 InsertChart.HasLegend = true; InsertChart.HasTitle = true;//为图表添加标题 InsertChart.Title.Caption = chartCaption;//标题名称 InsertChart.Title.Font.Color = "Blue"; InsertChart.Title.Font.Name = "黑体"; } break; case "BarClustered"://条形图 { InsertChart.Type = ChartChartTypeEnum.chChartTypeBarClustered; //指定图表是否需要图例标注 InsertChart.HasLegend = true; InsertChart.HasTitle = true;//为图表添加标题 InsertChart.Title.Caption = chartCaption;//标题名称 InsertChart.Title.Font.Color = "Blue"; InsertChart.Title.Font.Name = "黑体"; } break; case "Area"://面积图 { InsertChart.Type = ChartChartTypeEnum.chChartTypeArea; //指定图表是否需要图例标注 InsertChart.HasLegend = true; InsertChart.HasTitle = true;//为图表添加标题 InsertChart.Title.Caption = chartCaption;//标题名称 InsertChart.Title.Font.Color = "Blue"; InsertChart.Title.Font.Name = "黑体"; } break; } //添加一个series系列 InsertChart.SeriesCollection.Add(0); //给定series系列的名字 InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimSeriesNames, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, chartSeriesName); //给定分类 InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, chartCategory); //给定值 InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, chartValue); if (chartType == "Pie") { //增加数据值标签 InsertChart.SeriesCollection[0].DataLabelsCollection.Add(); InsertChart.SeriesCollection[0].DataLabelsCollection[0].HasValue = true; InsertChart.SeriesCollection[0].DataLabelsCollection[0].HasPercentage = true; } //输出文件. string imageName = System.DateTime.Now.ToShortDateString().Replace("-", "").Trim() + System.DateTime.Now.ToLongTimeString().Replace(":", "").Trim(); imageName = imageName + System.DateTime.Now.Millisecond + "Chart.gif"; string strAbsolutePath = (Server.MapPath(".")) + "\\" + imageName; laySpace.ExportPicture(strAbsolutePath, "GIF", chartLongth, chartWidth); //创建GIF文件的相对路径. string strRelativePath = "./" + imageName; //把图片添加到placeholder中,并在页面上显示 string strImageTag = "<IMG SRC='" + strRelativePath + "'/>"; //this.PlaceHolder1.Controls.Add(new LiteralControl(strImageTag)); return strRelativePath; }
  效果图如下:
0
相关文章