C# 图表控件停止在几分钟后动态更新
我有一个带有实时图表控件的应用程序,它接收日期并在我的控件上显示:C# 图表控件停止在几分钟后动态更新,c#,charts,C#,Charts,我有一个带有实时图表控件的应用程序,它接收日期并在我的控件上显示: 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 =
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
这是我的控制:
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();
}
我的问题是,几分钟后,图形停止更新并停止前进,我不知道原因。过一会儿,您将有太多的
数据点要显示
因此,最好从一开始就删除旧的:
private void chartTimer_Tick(object sender, EventArgs e)
{
series.Points.Add(wf.BitsPerSecond * 0.000001);
if (series.Points.Count > someLimit) series.Points.RemoveAt(0);
chart1.ResetAutoValues();
}
在调试器中,可以看到添加到系列中的点吗?还是计时器停止滴答作响?在点达到轴的最大值之前,它是否会正常更新,之后不会正常更新?您可能需要在chartTimer\u Tick
方法的末尾添加对chart1.ResetAutoValues()的调用,这将告诉图表重新计算两个轴上的最小/最大值,并考虑其他点。首先,在chartTimer\u的末尾,我添加了对chart1.ResetAutoValues()的调用现在我再次测试它,几分钟后我将更新…,计时器仍在滴答作响,你的点达到轴最大值之前是什么意思?例如,如果你的x轴最大值为100,并且你的计时器添加的点的x值增加了1…它是否适用于所有x值小于100的点,当它开始添加x值大于100的点时停止工作?需要添加到我的图形中的值也在标签内,所以我可以看到这个值很好,再看看这个链接,这是几分钟后的奇怪行为:顺便说一句,我没有配置任何x轴最大值,默认值是多少?