ZedGraph 如何清除曲线

ttiimm11 2010-10-07 11:21:21
VS2005+ZedGraph 5.1.5 Winform

我用下面的方法加了两条参考线

private PointPairList lstStart1 = new PointPairList();
private PointPairList lstStart2 = new PointPairList();
private void draw()
{
lstStart1.Add(5.00, 2.0);
lstStart1.Add(9.00, 2.0);
lstStart1.Add(9.00, 1.0);
myCurve1 = myPane.AddCurve("Min", lstStart1, Color.Red, SymbolType.None);

lstStart2.Add(5.00, 2.60);
lstStart2.Add(9.00, 2.60);
myCurve2 = myPane.AddCurve("Max", lstStart2, Color.Yellow, SymbolType.None);
}



然后我用一个循环继续往图表里画线

if (i <= 36)
{
double x = i;
double y = 1.5 + Math.Sin(i * 0.2);
y = Math.Round(y, 3);
list1.Add(x, y);

myCurve = myPane.AddCurve("", list1, Color.White, SymbolType.None);

zedGraphControl1.GraphPane = myPane;
zedGraphControl1.AxisChange();
zedGraphControl1.Refresh();
Application.DoEvents();

}

问题如下:

如果我最后不加myPane.CurveList.Clear();这句的话,绘制曲线会越来越慢(一个循环10毫秒),所以我想达到的要求是,当循环绘制的曲线超过10条的时候,清除最早的一条,也就是说图中只保留最新的10条曲线,但不能清除事先画好的参考线(清除了,重画也可以,但不能把所有曲线都一次清除了,要保留最新的10条)
...全文
447 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttiimm11 2010-10-07
  • 打赏
  • 举报
回复
zedGraphControl1.GraphPane.CurveList.Count这个是曲线的条数吗?貌似是点的集合.可每条曲线的点的个数是不确定的啊?如何判断曲线的条数?
兔子-顾问 2010-10-07
  • 打赏
  • 举报
回复
zedGraphControl1.GraphPane.CurveList.RemoveRange(10, zedGraphControl1.GraphPane.CurveList.Count - 10);
zedGraphControl1.AxisChange();
ttiimm11 2010-10-07
  • 打赏
  • 举报
回复
我要保留最新的10条曲线以及参考线,这个如何实现???
zedGraphControl1.GraphPane.CurveList.Clear();这样把所有的曲线都清空了。
兔子-顾问 2010-10-07
  • 打赏
  • 举报
回复
try
zedGraphControl1.GraphPane.CurveList.Clear();
zedGraphControl1.AxisChange();
兔子-顾问 2010-10-07
  • 打赏
  • 举报
回复
添加的时候能否自己定义些List记录下每条线的点,你想删除。就找这个队列中的点来删。。
wuyq11 2010-10-07
  • 打赏
  • 举报
回复
http://17172196.blog.163.com/blog/static/173271602009126337738/
看看zedgraph相关方法
http://zedgraph.sourceforge.net/documentation/html/T_ZedGraph_GraphObjList.htm

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧