OWC11绘制柱状图

来源:互联网 发布:mac windows iso 编辑:程序博客网 时间:2024/04/29 20:26

  1.     /// <summary>
  2.     /// OWC11绘制柱状图
  3.     /// </summary>
  4.     /// <param name="strX">X轴数值</param>
  5.     /// <param name="strYPlan">Y轴数值</param>
  6.     /// <param name="strYReality">Y轴数值</param>
  7.     /// <param name="Title">柱状图标题</param>
  8.     /// <param name="XCaption">X轴标题</param>
  9.     /// <param name="YCaption">Y轴标题</param>
  10.     private void DrawingChart(string strX, string strYPlan, string strYReality, string Title, string XCaption, string YCaption)
  11.     {
  12.         //创建一个绘图空间对象来放置图表
  13.         ChartSpace objCSpace = new ChartSpace();
  14.         //在绘图空间中新建一个图表
  15.         ChChart objChart = objCSpace.Charts.Add(0);
  16.         //制定图表的类型,类型由OWC.ChartChartTypeEnum枚举值得到
  17.         objChart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;//平面柱状图
  18.         //objChart.Type = ChartChartTypeEnum.chChartTypeColumnClustered3D;//3D柱状图
  19.         //objChart.Type = ChartChartTypeEnum.chChartTypePie;//平面饼图
  20.         //指定图表是否需要图例
  21.         objChart.HasLegend = true;
  22.         //给定标题
  23.         objChart.HasTitle = true;
  24.         objChart.Title.Caption = Title;
  25.         objChart.Title.Font.Size = 9;
  26.         objChart.Title.Font.Name = "宋体";
  27.         objChart.Title.Font.Bold = true;
  28.         //绘图区的背景颜色
  29.         objChart.PlotArea.Interior.Color = "#C0C0C0";
  30.         //绘图区的底色
  31.         objChart.PlotArea.Floor.Interior.Color = "#888888";
  32.         // 图例的字体
  33.         objChart.Legend.Font.Size = 9;
  34.         //给定x,y轴的图示属性
  35.         if (XCaption.Length > 0)
  36.         {
  37.             objChart.Axes[0].HasTitle = true;
  38.             objChart.Axes[0].Title.Caption = XCaption;
  39.             objChart.Axes[0].Title.Font.Size = 9;
  40.         }
  41.         else
  42.         {
  43.             objChart.Axes[0].HasTitle = false;
  44.         }
  45.         if (YCaption.Length > 0)
  46.         {
  47.             objChart.Axes[1].HasTitle = true;
  48.             objChart.Axes[1].Title.Caption = YCaption;
  49.             objChart.Axes[0].Title.Font.Size = 9;
  50.         }
  51.         else
  52.         {
  53.             objChart.Axes[1].HasTitle = false;
  54.         }
  55.         //在图表中添加一个数据序列
  56.         ChSeries objSeriesPlan = objChart.SeriesCollection.Add(0);
  57.         //给定Series的名字
  58.         objSeriesPlan.SetData(ChartDimensionsEnum.chDimSeriesNames, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), "计划");
  59.         //给定分类
  60.         objSeriesPlan.SetData(ChartDimensionsEnum.chDimCategories, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strX);
  61.         //给定值
  62.         objSeriesPlan.SetData(ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strYPlan);
  63.         //柱子内部的颜色
  64.         //objSeriesPlan.Interior.Color = "";
  65.         //柱子之间的间隙
  66.         //objSeriesPlan.GapWidth = 300;
  67.         //柱子的属性
  68.         ChDataLabels objDataLabelsPlan = objChart.SeriesCollection[0].DataLabelsCollection.Add();
  69.         objDataLabelsPlan.HasValue = true;//柱子上面的数字是否显示
  70.         objDataLabelsPlan.Font.Color = "Black";//柱子上面的数字颜色是黑色的
  71.         //在图表中添加另外一个数据序列
  72.         ChSeries objSeriesReality = objChart.SeriesCollection.Add(1);
  73.         //给定Series的名字
  74.         objSeriesReality.SetData(ChartDimensionsEnum.chDimSeriesNames, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), "实际");
  75.         //与上一个序列共用一个分类
  76.         //给定值
  77.         objSeriesReality.SetData(ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strYReality);
  78.         //柱子内部的颜色
  79.         //objSeriesReality.Interior.Color = "";
  80.         //柱子之间的间隙
  81.         //objSeriesReality.GapWidth = 300;
  82.         //柱子的属性
  83.         ChDataLabels objDataLabelsReality = objChart.SeriesCollection[1].DataLabelsCollection.Add();
  84.         objDataLabelsReality.HasValue = true;//柱子上面的数字是否显示
  85.         objDataLabelsReality.Font.Color = "Black";//柱子上面的数字颜色是黑色的
  86.         //输出成GIF文件.
  87.         string strAbsolutePath = (Server.MapPath(".")) + "//ColumnClusteredChart.gif";
  88.         objCSpace.ExportPicture(strAbsolutePath, "GIF", 800, 450);
  89.         //创建GIF文件的相对路径.
  90.         string strRelativePath = "./ColumnClusteredChart.gif";
  91.         //把图片添加到PlaceHolder
  92.         string strImageTag = "<IMG SRC='" + strRelativePath + "'/>";
  93.         ChartHolder.Controls.Add(new LiteralControl(strImageTag));
  94.     }
原创粉丝点击