• OWC画图表


    由于需要用,自己查一些资料,写的一个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;


        }
    效果图如下:
  • 相关阅读:
    <转> Lua使用心得(2)
    (转) Lua使用心得一 LUA和VC整合
    Highcharts 的实际实践一
    Springmvc4 com/fasterxml/jackson/core/JsonProcessingException
    如何在其他电脑上运行VS2005编译的DEBUG版应用程序
    [转]深入分析 Java 中的中文编码问题
    自动白平衡技术(WhiteBalance)(转自Harri的blog)
    沉思录(1)——EricKing工作的一个月
    图像处理一(BMP的格式说明)
    ios检查版本更新
  • 原文地址:https://www.cnblogs.com/ucetgg/p/1169847.html
Copyright © 2020-2023  润新知