代码
//创建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();
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();