【发布时间】:2015-06-28 00:03:17
【问题描述】:
我正在尝试将动态数据显示用于我的高级设计项目,但我遇到了困难。
我可以很好地创建图表,但我根本无法更新线条,除非我放大和缩小。
在大多数示例中,他们所要做的就是创建图表,然后当他们操作数据时,图表会自行更新。
以下是我在图表方面使用的主要功能:
private List<WindDAQ.WindDataPoint> Chart1Data;
private EnumerableDataSource<WindDAQ.WindDataPoint> Chart1DataSource;
private void InitializeCharts()
{
Chart1Data = new List<WindDAQ.WindDataPoint>();
Chart1DataSource = new EnumerableDataSource<WindDAQ.WindDataPoint>(Chart1Data);
Chart1DataSource.SetXMapping(x => Chart1XAxis.ConvertToDouble(x.Time));
Chart1DataSource.SetYMapping(y => Chart1XAxis.ConvertToDouble(y.Lift));
Chart1.AddLineGraph(Chart1DataSource, Colors.Blue, 2, "Lift");
Chart1.Viewport.AutoFitToView = true;
}
private void UpdateChart()
{
for (int i = 0, count = itsDAQ.getStreamCount(); i < count; i++)
{
Chart1Data.Add(itsDAQ.getValue());
if(Chart1Data.Count >= 300)
{ Chart1Data.RemoveAt(0); }
}
}
InitializeCharts() 在创建窗口时被调用一次。
UpdateChart() 在定时器事件上被调用。
WindDAQ.WindDataPoint 包含升力、阻力、速度和时间数据。电梯和时间显示为选中状态。
【问题讨论】:
标签: c# wpf dynamic-data-display