0

在 FastLine 系列中,我想显示一条代表不同时间百分比水平的线。y 轴是 %,x 轴是 DateTime。

我在异步事件中更新该行,在该事件中我将新数据点添加到系列中,包括相应的时间戳和颜色,如下所示。

fastLine.Add(timestamp, yValue, color);

TeeChart 是这样设置的:

在xml中:

<DockPanel x:Name="dpMain">
    <WPF:TChart x:Name="tChart" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</DockPanel>

在代码隐藏中:

  this.tChart.HorizontalAlignment = HorizontalAlignment.Stretch;
  this.tChart.VerticalAlignment = VerticalAlignment.Stretch;
  this.tChart.Aspect.View3D = false;
  this.tChart.Legend.Visible = false;
  this.tChart.Zoom.Allow = false;

  //create at least one fast line series.
  this.fastLine = new FastLine(this.tChart.Chart);
  this.tChart.Series.Add(this.fastLine);

  this.tChart.Axes.Left.Automatic = false;
  this.tChart.Axes.Left.Maximum = 100;
  this.tChart.Axes.Left.Minimum = 0;

  //this.tChart.Axes.Bottom.Automatic = false;
  this.tChart.Axes.Bottom.Labels.DateTimeFormat = "dd/MM/yy \n HH:mm:ss";
  this.tChart.Axes.Bottom.Labels.Angle = 90;

  fastLine.Marks.Visible = false;
  fastLine.XValues.DateTime = true;

更新事件每 10 秒触发一次,但此时间跨度可能会发生变化。

我的问题是,一旦第二个事件到来,图表就会充满大量数据点,导致显示水平线,并且底部轴充满大量日期条目。此外,似乎我在“添加”功能中提供的颜色被忽略了。

如何让 FastLine 仅显示在异步事件中添加的点?

有没有一种简单的方法可以实现“窗口化”效果?我希望最新的点一直可见(比如向右滚动)。

问候,

塔比纳

4

1 回答 1

0

我的问题是,一旦第二个事件到来,图表就会充满大量数据点,导致显示水平线,并且底部轴充满大量日期条目。

您能否发送一个简单的示例项目,我们可以“按原样”运行以在此处重现问题?您可以在http://www.steema.net/upload/上发布您的文件,或将它们发送到 steema dot com 上的 info 引用此问题。

此外,似乎我在“添加”功能中提供的颜色被忽略了。

FastLine 系列不支持系列中每个点的不同颜色。FastLine 系列是为性能目的而设计的,为了实现这一目标,去掉了一些功能。要获得具有不同颜色的线段,您应该改用 Line 系列并使用其ColorEach属性。

如何让 FastLine 仅显示在异步事件中添加的点?

我们需要看到一个重现问题的项目,以便能够看到哪个是确切的问题并提供准确的答复。

有没有一种简单的方法可以实现“窗口化”效果?我希望最新的点一直可见(比如向右滚动)。

当然,在TeeChart 安装中包含的功能演示中的All Features\Welcome !\Speed\Realtime charting中有一个示例。

于 2013-08-07T09:25:31.067 回答