於OWCY定的,100分求解,分不再加!!!!!在等
OWCY的:
1.有需要定到右的Y,在有一可以,另一不行,是默以左的Y
2.想把返修率和目不良率以%的形式示,但示出
忙解下以上,分不再加,先了。
- C# code
string xdata=string.Empty;string ydata=string.Empty;string zdata=string.Empty;string zdata1=string.Empty;string zdata2=string.Empty;string xdata2=string.Empty;xdata="374,296,240,100,300,200";ydata="9,7,15,10,0,6";zdata="0.0374,0.069,0.084,0.065,0,0.023";zdata1="0.05,0.05,0.05,0.05,0.05,0.05";OWC10.ChartSpaceClass myspace=new OWC10.ChartSpaceClass(); //myspace.Border.Color="Red" ; // 这样就看不到框线了.. //添加图表 //OWC10.ChChart mychart=myspace.Charts.Add(0); OWC10.ChChart mychart=myspace.Charts.Add(0); //指定图的类型 //mychart.Type=OWC10.ChartChartTypeEnum.chChartTypeColumnClustered; mychart.Type=OWC10.ChartChartTypeEnum.chChartTypeColumnClustered; //是否有图例 mychart.HasLegend=true; //是否有title mychart.HasTitle=true; mychart.Title.Caption="公司所有人员省别分析图"; mychart.Title.Font.Bold=true; //为x轴加说明// mychart.Axes[0].HasTitle=true;// //mychart.Axes[0].Title.Caption="省别";// mychart.Axes[0].Font.Color="Blue";// mychart.Axes[0].HasTickLabels=true; //为y轴加说明 //mychart.Axes[1].HasTitle=true; //mychart.Axes[1].Title.Caption="人数"; mychart.Axes[1].Font.Color="Blue"; //mychart.Axes[1].MajorGridlines.Line.Color="Red"; //格线颜色 //mychart.Axes[1].MajorGridlines.Line.DashStyle=OWC10.ChartLineDashStyleEnum.chLineLongDash; //格线颜色 mychart.Axes[1].MajorGridlines.Line.DashStyle=OWC10.ChartLineDashStyleEnum.chLineLongDash; //格线颜色 mychart.Axes[1].MajorUnit=50; //mychart.Axes[1].MajorTickMarks=OWC10.ChartTickMarkEnum.chTickMarkAutomatic; mychart.Axes[1].MajorTickMarks=OWC10.ChartTickMarkEnum.chTickMarkAutomatic; //把资料读入 string picname="项目"; string picname1="生产数"; string picname2="不良数"; string picname3="返修率"; string picname4="目标不良率"; mychart.SeriesCollection.Add(0); mychart.SeriesCollection[0].DataLabelsCollection.Add(); mychart.SeriesCollection[0].DataLabelsCollection[0].HasValue=true; mychart.SeriesCollection[0].DataLabelsCollection[0].Interior.Color="yellow"; //数值的背景色 mychart.SeriesCollection.Add(1); mychart.SeriesCollection[1].Ungroup(true); OWC10.ChAxis seAxes=mychart.Axes.Add(mychart.SeriesCollection[1].get_Scalings(OWC10.ChartDimensionsEnum.chDimValues)); seAxes.Position = OWC10.ChartAxisPositionEnum.chAxisPositionRight; seAxes.HasMajorGridlines = false; seAxes.NumberFormat = "0.00%"; seAxes.MajorUnit = 0.01; seAxes.MajorTickMarks=OWC10.ChartTickMarkEnum.chTickMarkAutomatic; mychart.SeriesCollection[1].DataLabelsCollection.Add(); mychart.SeriesCollection[1].DataLabelsCollection[0].HasValue=true; mychart.SeriesCollection.Add(2); mychart.SeriesCollection[2].DataLabelsCollection.Add(); //mychart.SeriesCollection[2].DataLabelsCollection[0].HasValue=true; mychart.SeriesCollection[2].Type=OWC10.ChartChartTypeEnum.chChartTypeLine; //mychart.SeriesCollection[3].DataLabelsCollection[0].HasPercentage=true; mychart.SeriesCollection.Add(3); mychart.SeriesCollection[3].DataLabelsCollection.Add(); mychart.SeriesCollection[3].Type=OWC10.ChartChartTypeEnum.chChartTypeLine; //mychart.SeriesCollection[3].DataLabelsCollection[0].HasValue=false; //mychart.SeriesCollection[3].DataLabelsCollection[0].HasPercentage=true; //汇出为图档 mychart.SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,picname1); mychart.SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,picname2); mychart.SeriesCollection[2].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,picname4); mychart.SeriesCollection[3].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,picname3); //给定分类(生产数) mychart.SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimCategories,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,xdata); mychart.SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimValues,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, ydata); //(不良数) mychart.SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimCategories,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,xdata); mychart.SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimValues,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, zdata); //返修率 mychart.SeriesCollection[3].SetData(OWC10.ChartDimensionsEnum.chDimCategories,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,xdata); mychart.SeriesCollection[3].SetData(OWC10.ChartDimensionsEnum.chDimValues,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, zdata2); //目标不良率 mychart.SeriesCollection[2].SetData(OWC10.ChartDimensionsEnum.chDimCategories,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,xdata); mychart.SeriesCollection[2].SetData(OWC10.ChartDimensionsEnum.chDimValues,+(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, zdata1); //汇出为图档 string mypath=(Server.MapPath(".")) + "\\ShowData.gif"; myspace.ExportPicture(mypath,"GIF",890,240);
[解决办法]
好长的代码阿,没有耐心看
[解决办法]
我试了1下,只要mychart.SeriesCollection[0]和mychart.SeriesCollection[1]还是可以的
估计问题在多个表共用数轴的问题上把
[解决办法]
试一下每个表都用一个轴,2,3表的数轴设置为不可见
[解决办法]
.. 还是做不出来,不过奇怪的是,2,3数据都变成柱状图了,给你我调试的例子,
string xdata = string.Empty;
string ydata = string.Empty;
string zdata = string.Empty;
string zdata1 = string.Empty;
string zdata2 = string.Empty;
string xdata2 = string.Empty;
xdata = "374,296,240,100,300,200";
//ydata = "9,7,15,10,0,6";
//zdata = "0.0374,0.069,0.084,0.065,0,0.023";
//zdata1 = "0.05,0.05,0.05,0.05,0.05,0.05";
ydata = "9,7,15,10,0,6";
zdata = "0.0374,0.069,0.084,0.065,0,0.023";
zdata1 = "0.05,0.05,0.05,0.05,0.05,0.05";
zdata2 = "0.03,0.04,0.05,0.02,0.06,0.07";
OWC10.ChartSpaceClass myspace = new OWC10.ChartSpaceClass();
OWC10.ChChart mychart = myspace.Charts.Add(0);
mychart.Type = OWC10.ChartChartTypeEnum.chChartTypeColumnClustered;
mychart.HasLegend = true;
mychart.Axes[1].MajorUnit = 50;
mychart.Axes[1].MajorTickMarks = OWC10.ChartTickMarkEnum.chTickMarkAutomatic;
//把资料读入
string picname = "项目";
string picname1 = "生产数";
string picname2 = "不良数";
string picname3 = "返修率";
string picname4 = "目标不良率";
mychart.SeriesCollection.Add(0);
mychart.SeriesCollection[0].DataLabelsCollection.Add();
mychart.SeriesCollection[0].DataLabelsCollection[0].HasValue = true;
mychart.SeriesCollection[0].DataLabelsCollection[0].Interior.Color = "yellow"; //数值的背景色
mychart.SeriesCollection.Add(1);
mychart.SeriesCollection[1].Ungroup(true);
OWC10.ChAxis seAxes = mychart.Axes.Add(mychart.SeriesCollection[1].get_Scalings(OWC10.ChartDimensionsEnum.chDimValues));
seAxes.Position = OWC10.ChartAxisPositionEnum.chAxisPositionRight;
seAxes.HasMajorGridlines = false;
seAxes.NumberFormat = "0.00%";
seAxes.MajorUnit = 0.01;
seAxes.MajorTickMarks = OWC10.ChartTickMarkEnum.chTickMarkAutomatic;
//seAxes.HasTitle = false;
//seAxes.HasTickLabels = false;
mychart.SeriesCollection[1].DataLabelsCollection.Add();
mychart.SeriesCollection[1].DataLabelsCollection[0].HasValue = true;
mychart.SeriesCollection.Add(2);
mychart.SeriesCollection[2].DataLabelsCollection.Add();
mychart.SeriesCollection[2].Type = OWC10.ChartChartTypeEnum.chChartTypeLine;
mychart.SeriesCollection.Add(3);
mychart.SeriesCollection[3].DataLabelsCollection.Add();
mychart.SeriesCollection[3].Type = OWC10.ChartChartTypeEnum.chChartTypeLine;
mychart.SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, picname1);
mychart.SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, picname2);
mychart.SeriesCollection[2].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, picname4);
mychart.SeriesCollection[3].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, picname3);
//给定分类(生产数)
mychart.SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimCategories, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, xdata);
mychart.SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimValues, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, ydata);
//(不良数)
mychart.SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimCategories, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, xdata);
mychart.SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimValues, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, zdata);
//返修率
mychart.SeriesCollection[3].SetData(OWC10.ChartDimensionsEnum.chDimCategories, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, xdata);
mychart.SeriesCollection[3].SetData(OWC10.ChartDimensionsEnum.chDimValues, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, zdata2);
//目标不良率
mychart.SeriesCollection[2].SetData(OWC10.ChartDimensionsEnum.chDimCategories, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, xdata);
mychart.SeriesCollection[2].SetData(OWC10.ChartDimensionsEnum.chDimValues, +(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, zdata1);
OWC10.ChAxis seAxes2 = mychart.Axes.Add(mychart.SeriesCollection[2].get_Scalings(OWC10.ChartDimensionsEnum.chDimValues));
seAxes2.Position = OWC10.ChartAxisPositionEnum.chAxisPositionRight;
seAxes2.HasMajorGridlines = false;
seAxes2.NumberFormat = "0.00%";
seAxes2.MajorUnit = 0.01;
seAxes2.MajorTickMarks = OWC10.ChartTickMarkEnum.chTickMarkAutomatic;
seAxes2.HasTitle = false;
seAxes2.HasTickLabels = false;
OWC10.ChAxis seAxes3 = mychart.Axes.Add(mychart.SeriesCollection[3].get_Scalings(OWC10.ChartDimensionsEnum.chDimValues));
seAxes3.Position = OWC10.ChartAxisPositionEnum.chAxisPositionRight;
seAxes3.HasMajorGridlines = false;
seAxes3.NumberFormat = "0.00%";
seAxes3.MajorUnit = 0.01;
seAxes3.MajorTickMarks = OWC10.ChartTickMarkEnum.chTickMarkAutomatic;
seAxes3.HasTitle = false;
seAxes3.HasTickLabels = false;
string mypath = (Server.MapPath(".")) + "\\ShowData.gif";
myspace.ExportPicture(mypath, "GIF", 890, 240);
[解决办法]
ASP.NET 2.0中OWC生成柱状图和饼状图的源代码