Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重置C#WPF上的图表绘图仪数据_C#_Wpf_Dynamic Data Display - Fatal编程技术网

重置C#WPF上的图表绘图仪数据

重置C#WPF上的图表绘图仪数据,c#,wpf,dynamic-data-display,C#,Wpf,Dynamic Data Display,我正在使用动态数据显示库查看以频繁间隔输入的动态整数值,并将其作为线形图(“line1”)打印到名为“plotter”的图表绘图仪上。我想要的是,当我取消选中复选框时,有一种方法可以清除图表绘图仪中的所有数据,并在我再次选中该复选框后重新开始打印。我想我可以用plotter.Children.Remove(第1行)来完成它,但它不会擦除旧数据。相反,它再次在旧数据上绘图,我有两条数据线。这里是我到目前为止所拥有的代码示例(包括一些伪代码) ObservableDataSource<Syst

我正在使用动态数据显示库查看以频繁间隔输入的动态整数值,并将其作为线形图(“line1”)打印到名为“plotter”的图表绘图仪上。我想要的是,当我取消选中复选框时,有一种方法可以清除图表绘图仪中的所有数据,并在我再次选中该复选框后重新开始打印。我想我可以用plotter.Children.Remove(第1行)来完成它,但它不会擦除旧数据。相反,它再次在旧数据上绘图,我有两条数据线。这里是我到目前为止所拥有的代码示例(包括一些伪代码)

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);
      }
 }
}
observedAtasource source1=新的observedAtasource();
线形图line1=新线形图(source1);
line1.Name=“Data1”;
int i=0;
启动计时器捕获数据。。。
CaptureData(………)
{
如果选中复选框…()
{
如果(i==0)
{
绘图仪.Children.Add(第1行);
}
双图_x=转换为双(i);
double graph_y=Convert.ToDouble(我拥有的数据点);
System.Windows.Point p1=新的System.Windows.Point(图x、图y);
source1.AppendAsync(调度程序,p1);
i++;
}
}
取消选中复选框后
{
如果(i!=0)
{
i=0;
绘图仪。子对象。删除(第1行);
}
}
}

这是我现在得到的线图,数据开始重新绘制,但旧数据仍然挂在那里。我想要实现的是一个干净的新图形,而不存在旧的线条。我没有发布图片的最低点数。因此,请参见此处的图像:

您必须清除源代码:

source1.RemoveAll(typeof(Point));

有人吗?任何人没有(