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;


    }
轉自: http://www.cnblogs.com/ucetgg/archive/2008/04/24/1169847.html

转载于:https://www.cnblogs.com/Athrun/archive/2008/04/25/1170307.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值