在C#WPF上重置chartplotter数据

时间:2013-05-22 09:00:52

标签: c# wpf dynamic-data-display

我正在使用动态数据显示库来查看频繁出现的动态整数值,并将其作为线图('line1')绘制到名为'plotter'的chartplotter上。我想要的是当我取消选中复选框并在我检查后再次开始绘图时,有一种方法可以从图表绘图仪中删除所有数据。我以为我可以用plotter.Children.Remove(line1)完成它,但它不会删除旧数据。相反,它再次绘制旧数据,我有双数据线。这是我到目前为止的代码示例(包括一些伪代码)。

ObservableDataSource<System.Windows.Point> source1=new ObservableDataSource<System.Windows.Point>();
LineGraph line1=new LineGraph(source1);
line1.Name = "Data1";
int i=0;
start a timer to CaptureData...
CaptureData(....,...)
{
  if a CheckBox is checked...()
 {
    if (i == 0)
    {
    plotter.Children.Add(line1);
    }
    double graph_x = Convert.ToDouble(i);
    double graph_y = Convert.ToDouble(datapoint that I have);
    System.Windows.Point p1 = new System.Windows.Point(graph_x, graph_y);
    source1.AppendAsync(Dispatcher, p1);
    i++;
    }
 }
 Once the checkBox is unchecked
 {
    if (i != 0)
      {
         i=0;
         plotter.Children.Remove(line1);
      }
 }
}

这是我现在得到的线图,数据在开始时再次开始绘制,但旧数据仍然悬在那里。我想要实现的是一个没有旧线路的干净的新图形。我没有发布图片的最低分数。所以请在此处查看图片:https://dl.dropboxusercontent.com/u/49447650/test5.png

1 个答案:

答案 0 :(得分:0)

您必须清除来源:

source1.RemoveAll(typeof(Point));