2014-09-27 2 views
0

Я использую ZedGraph. У меня есть только один элемент управления, содержащий три панели. Я инициализирую их следующим образом:ZedGraph Несколько окон

private void GraphIt() 
    { 
     MasterPane master = zedGraphControl1.MasterPane; 
     master.PaneList.Clear(); 

     // Display the MasterPane Title, and set the outer margin to 10 points 
     master.Title.IsVisible = true; 
     master.Title.Text = "Angles"; 
     master.Margin.All = 10; 

     // Create some GraphPane's (normally you would add some curves too 
     GraphPane pane1 = new GraphPane(); 
     GraphPane pane2 = new GraphPane(); 
     GraphPane pane3 = new GraphPane(); 

     // Add all the GraphPanes to the MasterPane 
     master.Add(pane1); 
     master.Add(pane2); 
     master.Add(pane3); 

     pane1.XAxis.Scale.MinorStep = pane2.XAxis.Scale.MinorStep = pane3.XAxis.Scale.MinorStep = 1; 
     pane1.XAxis.Scale.MajorStep = pane2.XAxis.Scale.MajorStep = pane3.XAxis.Scale.MajorStep = 50; 

     PointPairList dummylist = new PointPairList(); 
     myCurve1 = pane1.AddCurve("Angle X", dummylist, Color.Red); 
     myCurve2 = pane2.AddCurve("Angle Y", dummylist, Color.Blue); 
     myCurve3 = pane3.AddCurve("Angle Z", dummylist, Color.Green); 
     myCurve1.Line.Width = myCurve2.Line.Width = myCurve3.Line.Width = 5; 
     myCurve1.Symbol.Size = myCurve2.Symbol.Size = myCurve3.Symbol.Size = 0; 

     // Refigure the axis ranges for the GraphPanes 
     zedGraphControl1.AxisChange(); 

     // Layout the GraphPanes using a default Pane Layout 
     using (Graphics g = this.CreateGraphics()) 
     { 
      master.SetLayout(g, PaneLayout.SquareColPreferred); 
     } 
    } 

Я хочу нарисовать живые кривые каждый в одном окне. Я добавляю точки во время выполнения моей программы и обновляю график. Все идеально, за исключением того, что точки каждой кривой также добавляются к другим кривым. Пример:

myCurve1.AddPoint(Time, 10); 
myCurve2.AddPoint(Time, 5); 
myCurve3.AddPoint(Time, 1); 

Я делаю это, чтобы добавить свои очки. То, что происходит на каждой кривой добавляются три точки, как если бы я сделал это:

myCurve1.AddPoint(Time, 10); 
myCurve1.AddPoint(Time, 5); 
myCurve1.AddPoint(Time, 1); 

myCurve2.AddPoint(Time, 10); 
myCurve2.AddPoint(Time, 5); 
myCurve2.AddPoint(Time, 1); 

myCurve3.AddPoint(Time, 10); 
myCurve3.AddPoint(Time, 5); 
myCurve3.AddPoint(Time, 1); 

ответ

2

Изменить это:

PointPairList dummylist = new PointPairList(); 
myCurve1 = pane1.AddCurve("Angle X", dummylist, Color.Red); 
myCurve2 = pane2.AddCurve("Angle Y", dummylist, Color.Blue); 
myCurve3 = pane3.AddCurve("Angle Z", dummylist, Color.Green); 

к этому:

PointPairList dummylist = new PointPairList(); 
myCurve1 = pane1.AddCurve("Angle X", dummylist, Color.Red); 
dummylist = new PointPairList(); 
myCurve2 = pane2.AddCurve("Angle Y", dummylist, Color.Blue); 
dummylist = new PointPairList(); 
myCurve3 = pane3.AddCurve("Angle Z", dummylist, Color.Green); 

 Смежные вопросы

  • Нет связанных вопросов^_^