OWC中组合图的开发(柱状图+折线图)

代码
  // 创建ChartSpace对象来放置图表
        ChartSpace chartSpace  =   new  ChartSpaceClass();

        
// 是否显示图例
        chartSpace.HasChartSpaceLegend  =   true ;

        
// 在ChartSpace对象中添加图表,Add方法返回Chart对象
        ChChart chChart  =  chartSpace.Charts.Add( 0 );


        
// 给定标题
        chChart.HasTitle  =   true ;
        chChart.Title.Caption 
=   " 材料不良率 " ;

        
// 给定x,y轴的图示说明
        chChart.Axes[ 0 ].HasTitle  =   true ;
        chChart.Axes[
0 ].Title.Caption  =   " X : 日期 " ;


        chChart.Axes[
1 ].HasTitle  =   true ;
        chChart.Axes[
1 ].Title.Caption  =   " Y : 不良率 " ;


        
/* 柱形堆积图 */

        
// 设定图表类型
        chChart.SeriesCollection.Add( 0 );
        chChart.SeriesCollection[
0 ].Type  =  ChartChartTypeEnum.chChartTypeColumnStacked;


        
// 系列PG1
        
// 给定系列的名字

        chChart.SeriesCollection[
0 ].SetData(ChartDimensionsEnum.chDimSeriesNames,
            (
int )ChartSpecialDataSourcesEnum.chDataLiteral,  " PG1 " );

        
// 给定分类
        chChart.SeriesCollection[ 0 ].SetData(ChartDimensionsEnum.chDimCategories,
            (
int )ChartSpecialDataSourcesEnum.chDataLiteral,  " 材料A\t材料B\t材料C\t材料D\t " );

        
// 给定系列的值
        chChart.SeriesCollection[ 0 ].SetData
            (ChartDimensionsEnum.chDimValues,
            (
int )ChartSpecialDataSourcesEnum.chDataLiteral,  " 1\t0\t2\t2\t " );


        
// 系列PD1
        
// 给定系列的名字
        chChart.SeriesCollection.Add( 1 );
        chChart.SeriesCollection[
1 ].SetData(ChartDimensionsEnum.chDimSeriesNames,
            
+ ( int )ChartSpecialDataSourcesEnum.chDataLiteral,  " PD1 " );

        
// 给定分类
        chChart.SeriesCollection[ 1 ].SetData(ChartDimensionsEnum.chDimCategories,
            
+ ( int )ChartSpecialDataSourcesEnum.chDataLiteral,  " 材料A\t材料B\t材料C\t材料D\t " );

        
// 给定系列的值
        chChart.SeriesCollection[ 1 ].SetData
            (ChartDimensionsEnum.chDimValues,
            (
int )ChartSpecialDataSourcesEnum.chDataLiteral,  " 0\t3\t2\t3\t " );


        
// 系列PB1
        
// 给定系列的名字
        chChart.SeriesCollection.Add( 2 );
        chChart.SeriesCollection[
0 ].SetData(ChartDimensionsEnum.chDimSeriesNames,
            
+ ( int )ChartSpecialDataSourcesEnum.chDataLiteral,  " PB1 " );

        
// 给定分类
        chChart.SeriesCollection[ 2 ].SetData(ChartDimensionsEnum.chDimCategories,
            
+ ( int )ChartSpecialDataSourcesEnum.chDataLiteral,  " 材料A\t材料B\t材料C\t材料D\t " );

        
// 给定系列的值
        chChart.SeriesCollection[ 2 ].SetData
            (ChartDimensionsEnum.chDimValues,
            (
int )ChartSpecialDataSourcesEnum.chDataLiteral,  " 1\t1\t1\t2\t " );







        
/* 折线图 */
        
// 再增加一个系列
        ChSeries chSeries  =  chChart.SeriesCollection.Add( 0 );

        
// 指定图表类型
        chSeries.Type  =  ChartChartTypeEnum.chChartTypeLineMarkers;
        chSeries.Ungroup(
true );

        ChAxis chAxis 
=  chChart.Axes.Add(chSeries.get_Scalings(ChartDimensionsEnum.chDimValues));
        chAxis.Position 
=  ChartAxisPositionEnum.chAxisPositionRight;

        chAxis.HasMinorGridlines 
=   false ;
        chAxis.HasTitle 
=   true ;
        chAxis.Title.Caption 
=   " 使用数量 " ;
        
// 给定系列的名字
        chSeries.SetData(ChartDimensionsEnum.chDimSeriesNames,
            
+ ( int )ChartSpecialDataSourcesEnum.chDataLiteral,  " 使用数量 " );

        
// 给定系列的值
        chSeries.SetData
            (ChartDimensionsEnum.chDimValues,
            (
int )ChartSpecialDataSourcesEnum.chDataLiteral,  " 200\t120\t90\t150\t " );


        
// 输出成GIF文件.
         string  strAbsolutePath  =  (Server.MapPath( " . " ))  +   " \\Temp\\test.gif " ;
        chartSpace.ExportPicture(strAbsolutePath, 
" GIF " 600 350 );


        
// 创建GIF文件的相对路径.
         string  strRelativePath  =   " ./Temp/test.gif " ;

        
// 显示图片
        Image1.ImageUrl  =  strRelativePath.ToString(); 

 

你可能感兴趣的:(柱状图)