【问题标题】:Reset chartplotter data on C# WPF在 C# WPF 上重置海图仪数据
【发布时间】:2013-05-22 09:00:51
【问题描述】:

我正在使用动态数据显示库来查看以频繁间隔传入的动态整数值,并将其作为折线图 ('line1') 绘制到名为“plotter”的海图仪上。我想要的是有一种方法可以在我取消选中复选框时从海图仪中删除所有数据,并在我检查回来后再次开始绘图。我想我也许可以用 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

【问题讨论】:

  • 有人吗?任何人?没有人? :(

标签: c# wpf dynamic-data-display


【解决方案1】:

你必须清除来源:

source1.RemoveAll(typeof(Point));

【讨论】:

    猜你喜欢
    • 2014-12-14
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多