在 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 仅显示在异步事件中添加的点?
有没有一种简单的方法可以实现“窗口化”效果?我希望最新的点一直可见(比如向右滚动)。
问候,
塔比纳