【发布时间】:2017-02-03 09:45:32
【问题描述】:
在我的项目中,只要图形等于某个值,我就想在实时图形上绘制一个点。 我不知道该怎么做。 这是我用来显示实时图表的代码:
public class MainViewModel
{
public PlotModel DataPlot { get; set; }
public DispatcherTimer graphTimer;
private double _xValue = 10;
public MainViewModel()
{
DataPlot = new PlotModel();
DataPlot.Series.Add(new LineSeries());
graphTimer = new DispatcherTimer();
graphTimer.Interval = TimeSpan.FromMilliseconds(MainWindow.timerRefreshMs);
graphTimer.Tick += dispatcherTimer_Tick;
graphTimer.Start();
}
public void dispatcherTimer_Tick(object sender, EventArgs e)
{
ScatterSeries series = new ScatterSeries();
Dispatcher.CurrentDispatcher.Invoke(() =>
{
(DataPlot.Series[0] as LineSeries).Points.Add(new DataPoint(_xValue, MainWindow.z));
//DataPlot.InvalidatePlot(true);
//_xValue++;
if(MainWindow.z == 900)
{
//ADD A POINT
}
DataPlot.InvalidatePlot(true);
_xValue++;
if ((DataPlot.Series[0] as LineSeries).Points.Count > 80) //show only 10 last points
(DataPlot.Series[0] as LineSeries).Points.RemoveAt(0); //remove first point
});
}
}
【问题讨论】: