图表控制X轴的增长和增长,看起来它没有移动
我有应用程序与实时图表控件收到日期并在我的控件上显示:
这是我的控制:
MyObject obj... Series series = new Series(); series.Color = Color.Blue; series.ChartType = SeriesChartType.Spline; series.BorderWidth = 2; chart1.Series.Add(series); chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.White; chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.White; chart1.ChartAreas[0].AxisX.IsStartedFromZero = true; chart1.ChartAreas[0].AxisX.IntervalOffsetType = DateTimeIntervalType.Number ;
计时器滴答:
private void chartTimer_Tick(object sender, EventArgs e) { series.Points.Add(wf.BitsPerSecond * 0.000001); chart1.ResetAutoValues(); }
我的问题是,在开始时这是图:
几分钟后,X轴正在增长并且正在增长,看起来图形停止移动:
我怎样才能确保我的图表在开头看?
您不断向图表添加点,但不要删除它们。 因此,当您调用chart.ResetAutoValues()
,它会将x轴上的最小值设置为低于第一个点的x值,并将最大值设置为高于(或等于)最后一个点的x值。 最大值不断变大,但最小值永远不会变化,因此随着时间的推移,图形看起来会被压缩。 一旦达到某个阈值,您就可以开始删除积分,如下所示:
private void chartTimer_Tick(object sender, EventArgs e) { if (series.Points.Count() > 1000) series.Points.RemoveAt(0); series.Points.Add(wf.BitsPerSecond * 0.000001); chart1.ResetAutoValues(); }