2012-01-17 70 views
0

我试图制作一个方法,它在zedgraph中插入一些数字。但它不会工作。 这是我的代码:无法获得zedgraph的工作

 string title = "Contemporary Quality"; 
     string xaxis = "Amount"; 
     string yaxis = "Percent"; 
     zedGraphControl3.GraphPane.CurveList.Clear(); 
     zedGraphControl3.GraphPane.GraphObjList.Clear(); 
     GraphPane myPane = zedGraphControl3.GraphPane; 
     myPane.GraphObjList.Clear(); 
     myPane.CurveList.Clear(); 
     myPane.XAxis.Title.Text = xaxis; 
     myPane.Title.Text = title; 
     myPane.YAxis.Title.Text = yaxis; 
     myPane.XAxis.Scale.MinAuto = false; 
     myPane.XAxis.Scale.MinGrace = -0.5; 
     myPane.XAxis.Scale.Max = 16; 
     myPane.BarSettings.Type = BarType.PercentStack; 
     double[] x = new double[] { zg1.GraphPane.XAxis.Scale.Min, zg1.GraphPane.XAxis.Scale.Max }; 
     double[] y = new double[] { 20, 20 }; 
     ZedGraph.LineItem lineItem = new ZedGraph.LineItem("cursorY1", x, y, Color.Black, ZedGraph.SymbolType.None); 
     lineItem.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash; 
     lineItem.IsSelectable = false; 
     lineItem.Label.IsVisible = false; // hides the cursor in the legend 
     zg1.GraphPane.CurveList.Add(lineItem); 

     y = new double[] { 40, 40 }; 
     lineItem = new ZedGraph.LineItem("cursorY2", x, y, Color.Black, ZedGraph.SymbolType.None); 
     lineItem.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash; 
     lineItem.IsSelectable = false; 
     lineItem.Label.IsVisible = false; // hides the cursor in the legend 
     zg1.GraphPane.CurveList.Add(lineItem); 
     y = new double[] { 60, 60 }; 
     lineItem = new ZedGraph.LineItem("cursorY3", x, y, Color.Black, ZedGraph.SymbolType.None); 
     lineItem.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash; 
     lineItem.IsSelectable = false; 
     lineItem.Label.IsVisible = false; // hides the cursor in the legend 
     zg1.GraphPane.CurveList.Add(lineItem); 
     y = new double[] { 80, 80 }; 
     lineItem = new ZedGraph.LineItem("cursorY4", x, y, Color.Black, ZedGraph.SymbolType.None); 
     lineItem.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash; 
     lineItem.IsSelectable = false; 
     lineItem.Label.IsVisible = false; // hides the cursor in the legend 
     zg1.GraphPane.CurveList.Add(lineItem); 

     PointPairList PPLa = new PointPairList(); 
     PointPairList PPLb = new PointPairList(); 
     PointPairList PPLc = new PointPairList(); 
     PointPairList PPLd = new PointPairList(); 
     PointPairList PPLf = new PointPairList(); 

     int a = 0; 
     int b = 0; 
     int c = 0; 
     int d = 0; 
     int f = 0; 

     List<string> newlistString = new List<string>(); 
     DateTime end = dateTimePicker2.Value.Date; 
     DateTime start = dateTimePicker1.Value.Date; 
     newlistString = ctrscan.AnalyzeOldScans(start, end); 

     for (int h = 0; h <= (newlistString.Count - 1); h++) 
     { 
      if (newlistString[h].Equals("A")) 
      { 
       a = a + 1; 
      } 
      if (newlistString[h].Equals("B")) 
      { 
       b = b + 1; 
      } 

      if (newlistString[h].Equals("C")) 
      { 
       c = c + 1; 
      } 
      if (newlistString[h].Equals("D")) 
      { 
       d = d + 1; 
      } 
      if (newlistString[h].Equals("F")) 
      { 
       f = f + 1; 
      } 
      double aa = Convert.ToDouble(a); 
      double bb = Convert.ToDouble(b); 
      double cc = Convert.ToDouble(c); 
      double dd = Convert.ToDouble(d); 
      double ff = Convert.ToDouble(f); 
      PPLa.Add(h,aa); 
      PPLa.Add(h, bb); 
      PPLa.Add(h, cc); 
      PPLa.Add(h, dd); 
      PPLa.Add(h, ff); 
     } 
     Console.WriteLine(a+" "+b+" "+c+" "+d+" "+f); 
     BarItem myBara = myPane.AddBar("Quality A", PPLa, Color.Red); 
     BarItem myBarb = myPane.AddBar("Quality B", PPLb, Color.Blue); 
     BarItem myBarc = myPane.AddBar("Quality C", PPLc, Color.Gray); 
     BarItem myBard = myPane.AddBar("Quality D", PPLd, Color.Black); 
     BarItem myBarf = myPane.AddBar("Quality F", PPLf, Color.Pink); 


     zedGraphControl3.AxisChange(); 
     zg1.AxisChange(); 

从“consolewriteline”的输出是:0 15 56 4 9而为此我期望在曲线图上的至少4巴。但没有任何反应。希望任何人都知道.. 谢谢。

+0

我也尝试移动环路以外的“plla.add”的方法,而没也不行。 – WildBoar 2012-01-17 15:13:29

+0

你只填写PPLa的值,需要改变,PPLb等等也可能填写 – Moonlight 2012-01-17 15:16:27

+0

OMG,那太蹩脚了。不管怎么说,还是要谢谢你! – WildBoar 2012-01-17 15:21:40

回答

0
PPLa.Add(h,aa); 
    PPLa.Add(h, bb); 
    PPLa.Add(h, cc); 
    PPLa.Add(h, dd); 
    PPLa.Add(h, ff); 

需求是:

PPLa.Add(h,aa); 
    PPLb.Add(h, bb); 
    PPLc.Add(h, cc); 
    PPLd.Add(h, dd); 
    PPLe.Add(h, ff); 

我希望这会为你工作

+0

但没有显示? – WildBoar 2012-01-17 15:51:58

+0

哪一个不显示? zg1或zg3?也。看看PPLa-e来检查这是否正确。如果不是,你需要看看你的填充代码部分。另一个也,让你的myPane.Barsetting正常,看看有什么工作 – Moonlight 2012-01-18 07:35:23