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"600350);


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

        
//显示图片
        Image1.ImageUrl = strRelativePath.ToString(); 
原文地址:https://www.cnblogs.com/ycsfwhh/p/1930584.html