zoukankan      html  css  js  c++  java
  • ASP.NET中使用OWC绘制图表实例[转]


    项目中的工程模块需要用到图表来显示数据,后来选中了“OWC11”,效果如下:



    CS代码:
        void ToPrint(string categoryStr, string[] valueArr, string[] titleArr, string[] colorArr)
        
    {
            
    // 新建一个绘图空间
            ChartSpace objCSpace = new ChartSpace();


            
    // 在绘图空间中新建一个图表
            ChChart objChart = objCSpace.Charts.Add(0);
            
    //objChart.Type = ChartChartTypeEnum.chChartTypeColumnClustered3D; // 指定图表的类型为3D柱状
            objChart.Type = ChartChartTypeEnum.chChartTypeColumnClustered; // 平面柱状
            objChart.HasLegend = true// 指定图表是否需要图例

            
    // 标题
            objChart.HasTitle = true;
            objChart.Title.Caption 
    = "年度水量消耗统计";
            objChart.Title.Font.Size 
    = 9;
            objChart.Title.Font.Name 
    = "宋体";
            objChart.Title.Font.Bold 
    = true;

            objChart.PlotArea.Interior.Color 
    = "#C0C0C0"// 绘图区的背景颜色
            objChart.PlotArea.Floor.Interior.Color = "#888888"// 绘图区的底色

            objChart.Legend.Font.Size 
    = 9// 图例的字体




            
    // X, Y 轴的图示属性
            
    //objChart.Axes[0].HasTitle = true;
            
    //objChart.Axes[0].Title.Caption = "X:月";
            
    //objChart.Axes[0].Title.Font.Size = 9;
            
    //objChart.Axes[1].HasTitle = true;
            
    //objChart.Axes[1].Title.Caption = "Y:量";
            
    //objChart.Axes[1].Title.Font.Size = 9;


            
    for (int i = 0; i < valueArr.Length; i++)
            
    {
                
    // 在图表中添加一个数据系列
                ChSeries objSeries = objChart.SeriesCollection.Add(i);
                objSeries.SetData(ChartDimensionsEnum.chDimSeriesNames, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), titleArr[i]);
                objSeries.SetData(ChartDimensionsEnum.chDimCategories, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), categoryStr);
                objSeries.SetData(ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), valueArr[i]);
                objSeries.Interior.Color 
    = colorArr[i]; // 柱子内部的颜色
                objSeries.GapWidth = 300// 柱子之间的间隙

                ChDataLabels objDataLabels 
    = objChart.SeriesCollection[i].DataLabelsCollection.Add();
                objDataLabels.HasValue 
    = false// 柱子上面的数字是否显示
                objDataLabels.Font.Color = "Black"// 柱子上面的数字颜色是黑色的
            }


            
    object objPic = objCSpace.GetPicture("GIF"700300);

            Response.Buffer 
    = true;
            Response.ContentType 
    = "image/gif";
            Response.BinaryWrite((
    byte[])objPic);
            Response.End();
        }



    调用:

            string[] categoryArr = new string[] "1月份""2月份""3月份""4月份""5月份""6月份" };
            
    string categoryStr = string.Join(""t", categoryArr);

            
    string[] valueArr1 = new string[] "3832""3167""3575""3816""2651""3494" };
            
    string[] valueArr2 = new string[] "17627.2""14568.2""12194.6""16445""17553.6""16072.4" };
            
    string[] valueArr3 = new string[] "5748""4750.5""3976.5""5362.5""5724""5241" };
            
    string[] valueArr4 = new string[] "23375.2""19318.7""16171.1""21807.5""23277.6""21313.4" };
            
    string valueStr1 = string.Join(""t", valueArr1);
            
    string valueStr2 = string.Join(""t", valueArr2);
            
    string valueStr3 = string.Join(""t", valueArr3);
            
    string valueStr4 = string.Join(""t", valueArr4);
            
    string[] valueArr = new string[] { valueStr1, valueStr2, valueStr3, valueStr4 };

            
    string[] titleArr = new string[] "消耗量m3""水费(元)""污水费(元)""合计(元)" };

            
    string[] colorArr = new string[] "#9999FF""#993366""#FFFFCC""#CCFFFF" };

            ToPrint(categoryStr, valueArr, titleArr, colorArr);
  • 相关阅读:
    [Beta阶段]发布说明
    [技术博客]使用微信机器人监听群内招聘信息的过程及遇到的问题
    [Beta阶段]第十次Scrum Meeting
    [Beta阶段]第九次Scrum Meeting
    [技术博客]django连接mysql数据库的方法及部分问题的解决方法
    python学习06循环
    python学习05条件分支
    python学习04数据
    python学习03字符串基本操作
    python学习01python入门一
  • 原文地址:https://www.cnblogs.com/zhangronghua/p/909326.html
Copyright © 2011-2022 走看看