以下代码在0.3版本上运行没问题。
1、曲线随着坐标轴的变化动态显示固定范围内的数据点
通俗的说就是曲线实时滚动,因为默认情况下,如果显示的数据随着时间动态变化,那么曲线会在坐标轴上不断的被“挤压”在一起,以显示从开始到现在的所有数据。

有时只需要动态的查看当前时间点前后固定区间的数据情况 ,这个时候就需要动态的显示固定范围内的曲线。

代码如下:
ObservableDataSource<Point> currentDataFrame = new ObservableDataSource<Point>();
private DispatcherTimer recodertimer = new DispatcherTimer();
private void Button_Click4(object sender, RoutedEventArgs e)
{
recodertimer.Tick += new EventHandler(recodertimer_Tick);
recodertimer.Interval = TimeSpan.FromSeconds(0.1);
recodertimer.Start();
plotter.AddLineGraph(currentDataFrame, Colors.Red, 1, "这是图例");
}
private void recodertimer_Tick(object sender, EventArgs e)
{
Point point = new Point(0, 0);
point.X = ++i;
point.Y = Math.Sin(i);
currentDataFrame.AppendAsync(base.Dispatcher, point);
plotter.Viewport.FitToView();
plotter.Viewport.Visible = new System.Windows.Rect(i - 5, -1, 10, 2);
}
其中主要的就是
plotter.Viewport.Visible = new System.Windows.Rect(i - 5, -1, 10, 2);
通过设置一个固定大小的矩形区域,来显示某个动态区间的数据。
第一个值是X轴的起点,第二个是Y轴,第三个是X轴的区间大小,第四个是Y轴的区间大小。
本文介绍了一种在坐标轴上动态显示固定范围内数据点的方法,适用于需要实时查看当前时间点前后固定区间数据的情况。通过设置Viewport.Visible属性,可以实现曲线的实时滚动效果,避免数据在坐标轴上的不断挤压。
&spm=1001.2101.3001.5002&articleId=108200755&d=1&t=3&u=44fce401b9c944f3984eec9461d26017)
4074

被折叠的 条评论
为什么被折叠?



