使用ZedGraph绘制多条曲线

3

在使用ZedGraph时,我遇到了一个奇怪的问题。

我正在使用同一个项目来添加多个曲线。例如:

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

我多次调用上述代码以添加多个点。但是当我删除曲线时,只有最后一个添加的曲线被删除,而其他曲线则保留在面板上。
this.zedGraph_RenderedTrack.GraphPane.CurveList.Remove(curve_3);

我找不到一种可以清除所有添加的曲线的方法。有没有什么办法可以做到这一点?

我的实际需求是在面板上动态添加不同的线条,但我不需要显示标签信息,并且它们都应该通过单击绘制并通过单击删除。

2个回答

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
如果您想从图形面板中删除所有曲线,只需使用CurveList.Clear()方法即可:
this.zedGraph_RenderedTrack.GraphPane.CurveList.Clear();

实际上,我不想删除所有数据,只想删除通过curve_3添加的几个数据。我想保留所有其他数据,因此我们不能使用CurveList.Clear(); - NitinG
1
在这种情况下,JesseJames提出的方法应该是正确的:将您添加的曲线收集到一个单独的列表中,然后循环遍历该列表并从GraphPane.CurveList中删除所有项目。 - Anders Gustafsson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接