2012-09-12 29 views
2

我在使用ZedGraph时发生了一件奇怪的事情。使用ZedGraph的多条曲线

我使用相同的项目添加多条曲线。像:

ZedGraph LineItem curve_3; 
curve_3 = pane.AddCurve("", xx_1, yy, xxyy); 

我多次调用上述行以添加多个点。但是,当我删除曲线时,只有最后添加的曲线被删除,并且全部保留在窗格上。

this.zedGraph_RenderedTrack.GraphPane.CurveList.Remove(curve_3); 

我没有找到一种方法来清除所有添加的曲线。有没有做到这一点?

我的实际需求是我必须在面板上动态添加不同的线条,但我不需要显示标签信息,并且所有这些都应该通过单击进行绘制并通过单击进行移除。

回答

4

你在这个代码仅握住最后一条曲线:

ZedGraph LineItem curve_3; 
curve_3 = pane.AddCurve("", xx_1, yy, xxyy); 

收集使用List这样<的LineItem>记住所有的曲线。

List<LineItem>.foreach(r => this.zedGraph_RenderedTrack.GraphPane.CurveList.Remove(r); 
) 
+0

感谢的人..!我认为这会起作用。 – NitinG

0

如果你想从你的图形窗格中删除所有的曲线,简单的使用方法CurveList.Clear()

this.zedGraph_RenderedTrack.GraphPane.CurveList.Clear(); 
+0

实际上我不想删除所有,但只有少数,我已经通过curve_3添加。留下所有我想保留的数据,因此我们不能使用CurveList.Clear(); – NitinG

+1

在这种情况下,JesseJames提出的方法应该是一条路:将您添加的曲线收集到一个单独的列表中,然后遍历列表并从“GraphPane.CurveList”中移除所有项目。 –