我使用zedGraph类RollingPointPairList()
设计了一个实时图形应用程序。用户应该能够在选中checkBox
时隐藏特定曲线,并在未选中时显示。
问题是它一旦隐藏就不再显示曲线。实际上,它应该显示所有隐藏的点的曲线,但它绘制直线&从列表中删除特定点。如何正确地做到这一点?
这是我正在使用的示例代码:
if (chkXScale.Checked == true) {
zedGraphControl1.GraphPane.CurveList[0].Clear();
zedGraphControl1.Refresh();
}
答案 0 :(得分:1)
我猜是通过调用zedGraphControl1.GraphPane.CurveList[0].Clear();
来删除数据,所以一旦你试图通过检查复选框将其恢复,它就找不到要绘制的数据!
我建议你在获取数据时做两件事:
list.Add(x,y);
要保存数据以供日后使用,您可以选择您掌握的任何简单方法,我建议使用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());
}
我希望这就是你所需要的,当你尝试时给我反馈