【发布时间】:2016-11-09 07:31:10
【问题描述】:
我正在使用 C#.net 开发带有 MS 日期时间线图的 Windows 窗体应用程序。 (x 轴日期时间,y1 轴双精度值,y2 轴双精度值)我需要每 10 秒将数据点(实时数据)添加到图表中。最初图表显示 10 分钟数据。之后,我将删除第一个数据点并最后添加一个数据点(简单地移动)。为此,我正在更改轴最小值最大值。我的应用程序成功运行了一周,之后出现以下错误。
轴对象 - 轴的最小值大于最大数据点值。
这是我的代码示例,
if (datapointcount >= 600)
{
chart1.Series[0].Points.RemoveAt(0);
chart1.ChartAreas[0].AxisX.Minimum = DateTime.FromOADate(chart1.Series[0].Points[0].XValue).ToOADate();
chart1.ChartAreas[0].AxisX.Maximum = DateTime.FromOADate(chart1.Series[0].Points[chart1.Series[0].Points.Count - 1].XValue).AddSeconds(10).ToOADate();
chart1.ChartAreas[0].RecalculateAxesScale();
}
this.chart1.Series[0].Points.AddXY(xval , value1);
this.chart1.Series[1].Points.AddXY(xval, value2);
chart1.Invalidate();
chart1.Update();
【问题讨论】:
-
错误信息有什么不清楚的地方??由于您没有显示您如何填写
timestamp,因此我们无法提供任何帮助。我建议您从分配中提取用于设置最小值和最大值的值,以便更好地检查它们.. -
时间戳是使用 ToOADate() 计算的双精度值,它将日期时间值转换为双精度值。
-
当然。但这是关于实际值!看看他们,你会发现,,,