我制作了一个图表,可以在收到数据时动态绘制峰值。 在此图表中,我创建了一个滚动条,因此只能按时显示20个数据点。
public void Chart()
{
ChartArea mov = SleepMovChar.ChartAreas["Movement"];
mov.AxisX.ScrollBar.Size = 12;
mov.AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll;
mov.AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.All ^ ScrollBarButtonStyles.ResetZoom;
mov.AxisX.ScrollBar.IsPositionedInside = true;
mov.AxisX.ScrollBar.Enabled = true;
mov.AxisX.ScaleView.Size = 20;
}
我的问题是,我希望滚动条在收到数据时向右移动。现在,它向左移动,因此显示第一个数据。我只想显示最新的数据,以便滚动条跟随数据接收。
答案 0 :(得分:0)
如果您希望可见区域跟随示波器中的新数据,您可以设置滚动位置:
Series S1 = SleepMovChar.Series["yourSeriesByNameOrNumber"];
mov.AxisX.ScaleView.Position = S1.Points.Count - mov.AxisX.ScaleView.Size;
只要添加了数据点,就需要重复此操作。