【问题标题】:C# Line chart axis pointsC#折线图轴点
【发布时间】:2014-09-15 07:56:39
【问题描述】:

我有一个使用折线图的应用程序。我的应用程序每秒都会从数据库中读取一个值及其记录时间,并将该值及其记录时间添加到折线图中。数值在 Y 轴,记录时间在 X 轴。

我的折线图的 x 点每秒增加一个。我希望折线图在第一次创建时有更多没有 Y 值的 x 点(第一次创建时大约 60 秒)。我该怎么做?

注意:录制时间为 DateTime。它显示小时分钟和秒

【问题讨论】:

  • 你能给我们看一个sn-p的代码吗?用 60 个空值或零值填充绑定到图表的数据集合有什么问题?
  • this.chartMonitor.Series["1.1 Proses"].Points.AddXY(DateTime.Now.ToLongTimeString(), value);
  • 为什么不简单的在开头加上60分???

标签: c# .net winforms charts


【解决方案1】:

您只需要在向图表添加点之前设置图表 X 轴的最小值和最大值。

假设您的图表具有索引 CHART_INDEX,并且开始和结束时间的类型为 DateTime,请执行以下操作:

var xAxis = yourChart.ChartAreas[CHART_INDEX].AxisX;
xAxis.Minimum = myStartTime.ToOADate();
xAxis.Maximum = myEndTime.ToOADate();

【讨论】:

  • 我用过这个但是我看不到任何值DateTime time = DateTime.Now; chartMonitor.ChartAreas[0].AxisX.Minimum = time.ToOADate(); time.Add(new TimeSpan(0, 10, 0)); chartMonitor.ChartAreas[0].AxisX.Maximum = time.ToOADate();
  • 嗯,这在我的图表中对我有用——这是正确的做法。您添加的点数是否确定在开始和结束时间内?
  • 我更正了我的代码。现在其父表单的父表单抛出OverflowException
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-17
  • 2021-12-13
相关资源
最近更新 更多