62,074
社区成员
发帖
与我相关
我的任务
分享
//创建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");
//给定系列的值
chChart.SeriesCollection[0].SetData
(ChartDimensionsEnum.chDimValues,
(int)ChartSpecialDataSourcesEnum.chDataLiteral, "0.01\t0\t0.02\t0.02");
//系列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");
//给定系列的值
chChart.SeriesCollection[1].SetData
(ChartDimensionsEnum.chDimValues,
(int)ChartSpecialDataSourcesEnum.chDataLiteral, "0\t0.03\t0.02\t0.03");
//系列PB1
//给定系列的名字
chChart.SeriesCollection.Add(2);
chChart.SeriesCollection[2].SetData(ChartDimensionsEnum.chDimSeriesNames,
+(int)ChartSpecialDataSourcesEnum.chDataLiteral, "PB1");
//给定分类
chChart.SeriesCollection[2].SetData(ChartDimensionsEnum.chDimCategories,
+(int)ChartSpecialDataSourcesEnum.chDataLiteral, "材料A\t材料B\t材料C\t材料D");
//给定系列的值
chChart.SeriesCollection[2].SetData
(ChartDimensionsEnum.chDimValues,
(int)ChartSpecialDataSourcesEnum.chDataLiteral, "0.01\t0.01\t0.01\t0.02");
/*折线图*/
//再增加一个系列
//设定图表类型
chChart.SeriesCollection.Add(3);
chChart.SeriesCollection[3].Type = ChartChartTypeEnum.chChartTypeLineMarkers ;
//主次网格线不显示
chChart.Axes[1].HasMinorGridlines = false;
chChart.Axes[1].HasMajorGridlines = false;
//设定Y轴格式
chChart.Axes[1].NumberFormat = "0%";
//去掉线
chChart.SeriesCollection[3].Line.Color = ChartColorIndexEnum.chColorNone;
//标记形状
chChart.SeriesCollection[3].Marker.Style = ChartMarkerStyleEnum.chMarkerStyleDiamond;
//系列不良合计
//给定系列的名称
chChart.SeriesCollection[3].SetData(ChartDimensionsEnum.chDimSeriesNames,
+(int)ChartSpecialDataSourcesEnum.chDataLiteral, "不良合计");
//给定分类
chChart.SeriesCollection[3].SetData(ChartDimensionsEnum.chDimCategories,
+(int)ChartSpecialDataSourcesEnum.chDataLiteral, "材料A\t材料B\t材料C\t材料D");
//给定系列的值
chChart.SeriesCollection[3].SetData
(ChartDimensionsEnum.chDimValues,
(int)ChartSpecialDataSourcesEnum.chDataLiteral, "0.02\t0.04\t0.05\t0.07");
/*折线图*/
//再增加一个系列
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;
chSeries.Marker.Style = ChartMarkerStyleEnum.chMarkerStyleSquare;
//主次网格线不显示
chAxis.HasMinorGridlines = false;
chAxis.HasMajorGridlines = 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");
//输出成GIF文件.
string strAbsolutePath = (Server.MapPath(".")) + "\\Temp\\test.gif";
chartSpace.ExportPicture(strAbsolutePath, "GIF", 600, 350);
//创建GIF文件的相对路径.
string strRelativePath = "./Temp/test.gif";
//显示图片
Image1.ImageUrl = strRelativePath.ToString();
this.Image1.Visible = true;
this.xydata_Load();
string strCategory = ks[0] + '\t' + ks[1] + '\t' + ks[2] + '\t' + ks[3] + '\t' + ks[4] + '\t' + ks[5] ;
string strValue = jh[0] + '\t' + jh[1] + '\t' + jh[2] + '\t' + jh[3] + '\t' + jh[4] + '\t' + jh[5] ;
string strCategory1 = ks[0] + '\t' + ks[1] + '\t' + ks[2] + '\t' + ks[3] + '\t' + ks[4] + '\t' + ks[5] ;
string strValue1 = wc[0] + '\t' + wc[1] + '\t' + wc[2] + '\t' + wc[3] + '\t' + wc[4] + '\t' + wc[5] ;
//声明对象
Microsoft.Office.Interop.Owc11.ChartSpace ThisChart = new Microsoft.Office.Interop.Owc11.ChartSpaceClass();
Microsoft.Office.Interop.Owc11.ChChart ThisChChart = ThisChart.Charts.Add(0);
Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries = ThisChChart.SeriesCollection.Add(0);
Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries1 = ThisChChart.SeriesCollection.Add(1);
//显示图例
ThisChChart.HasLegend = true;
// ThisChChart.Legend.Border.Color = "red";
//标题
ThisChChart.HasTitle = true;
ThisChChart.Title.Caption = "统计图";
//给定x,y轴图示说明
ThisChChart.Axes[0].HasTitle = true;
ThisChChart.Axes[1].HasTitle = true;
ThisChChart.Axes[0].Title.Caption = "名称";
ThisChChart.Axes[1].Title.Caption = "数量";
//图表类型
ThisChChart.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeColumnClustered;
ThisChChart.Overlap = 50;
//旋转
ThisChChart.Rotation = 360;
ThisChChart.Inclination = 10;
//背景颜色
ThisChChart.PlotArea.Interior.Color = "#DDE3F5";
//底色
ThisChChart.PlotArea.Floor.Interior.Color = "#f0835c";
// ThisChChart.SeriesCollection[0].Thickness = true;
// ThisChChart.PlotArea = "#DDE3F5";
// ThisChChart.SeriesCollection.= "true";
// ThisChChart.SeriesCollection.PivotAxis.Label.= "true";
//Set Series0=ThisChChart.SeriesCollection.Add();
//Set dl = Series0.DataLabelsCollection.Add();
//dl.HasValue = True;
//
ThisChChart.SeriesCollection[0].DataLabelsCollection.Add();
ThisChChart.SeriesCollection[1].DataLabelsCollection.Add();
//样式
ThisChChart.SeriesCollection[0].DataLabelsCollection[0].Font.Color = "red";
ThisChChart.SeriesCollection[0].DataLabelsCollection[0].Font.Size = 11;
ThisChChart.SeriesCollection[0].DataLabelsCollection[0].Font.Bold = true;
ThisChChart.SeriesCollection[0].DataLabelsCollection[0].HasValue = true;
ThisChChart.SeriesCollection[1].DataLabelsCollection[0].Font.Color = "blue";
ThisChChart.SeriesCollection[1].DataLabelsCollection[0].Font.Size = 11;
ThisChChart.SeriesCollection[1].DataLabelsCollection[0].Font.Bold = true;
ThisChChart.SeriesCollection[1].DataLabelsCollection[0].HasValue = true;
//ThisChChart.SeriesCollection[0].Points[1].Interior.Color = "red";
//
/**/
////给定series的名字
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), "计划");
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), "完成");
//给定分类
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory);
//给定值
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue);
ThisChSeries1.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory1);
//给定值
ThisChSeries1.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue1);
//导出图像文件
for (int n = 0; n < ThisChChart.SeriesCollection[0].Points.Count; n++)
{
// ThisChChart.Charts[0].SeriesCollection[0].Points[n].Border.Color = "black"; //模块线条颜色
ThisChChart.SeriesCollection[0].Points[n].Interior.Color = "red";
ThisChChart.SeriesCollection[1].Points[n].Interior.Color = "blue";
}
String[] fileEntries = System.IO.Directory.GetFiles(MapPath("chart"));
foreach (string sFile in fileEntries)
{
if (DateTime.Compare(System.IO.File.GetCreationTime(sFile).AddDays(1), DateTime.Now) < 0)
{
System.IO.File.Delete(sFile);
}
}
try
{
//Random ;
int nFileNameSuffix;
String sFileNameSuffix;
System.Random rnd = new System.Random();
nFileNameSuffix = rnd.Next(10000);
sFileNameSuffix = System.Convert.ToString(nFileNameSuffix);
ThisChart.ExportPicture(Server.MapPath("chart/PolyesterPrice_") + sFileNameSuffix + ".gif", "gif", 710, 500);
this.Image1.ImageUrl = "chart/PolyesterPrice_" + sFileNameSuffix + ".gif";
this.Image1.NavigateUrl = "mudh.aspx?yjlmdm=05&ejlmdm=01&mulb=sstab&nf=" + this.DropDownList1.SelectedValue;
}
catch (Exception ee)
{ }