清除然后在zedGraph中恢复List

时间:2013-11-30 06:45:24

标签: c# zedgraph

我使用zedGraph类RollingPointPairList()设计了一个实时图形应用程序。用户应该能够在选中checkBox时隐藏特定曲线,并在未选中时显示。 问题是它一旦隐藏就不再显示曲线。实际上,它应该显示所有隐藏的点的曲线,但它绘制直线&从列表中删除特定点。如何正确地做到这一点?

这是我正在使用的示例代码:

if (chkXScale.Checked == true) {
    zedGraphControl1.GraphPane.CurveList[0].Clear();
        zedGraphControl1.Refresh();
}

1 个答案:

答案 0 :(得分:1)

我猜是通过调用zedGraphControl1.GraphPane.CurveList[0].Clear();来删除数据,所以一旦你试图通过检查复选框将其恢复,它就找不到要绘制的数据!

我建议你在获取数据时做两件事:

  1. 在zeGraph控件list.Add(x,y);
  2. 中绘制
  3. 保存数据供以后使用(如果取消选中/检查)。
  4. 要保存数据以供日后使用,您可以选择您掌握的任何简单方法,我建议使用Queue如下所示,因此整个操作变为:

    //declaration:
    Queue<double> Xholder = new Queue<double>();
    Queue<double> Yholder = new Queue<double>();
    //when new data comes:
    list.Add(x,y);
    Xholder.Enqueue(x);
    Yholder.Enqueue(y);
    
    //when you uncheck then check the checkBox
    for (int i=0; i<Xholder.Count; i++)
    {
      list.Add(Xholder.Dequeue(), Yholder.Dequeue());
    }
    

    我希望这就是你所需要的,当你尝试时给我反馈