我是WPF的新手,并尝试在以下位置使用DynamicDataDisplayWPF绘制实时图表:NuGet
我需要在1个图表上绘制多个图形,然后使用InjectedPlotter。 XAML文件如下所示(例如):
<d31:ChartPlotter x:Name="graph" Opacity="0.8" Margin="0,5,0,0">
<d31:HorizontalDateTimeAxis Name="dateAxis" />
<d31:InjectedPlotter Name="line1" Opacity="100">
<d31:Header Content="PLCData"/>
<d31:VerticalAxisTitle Content="PLCValue" />
</d31:InjectedPlotter>
<d31:InjectedPlotter Name="line2" Opacity="100">
<d31:Header Content="SampleData"/>
<d31:VerticalAxisTitle Content="SampleValue" />
</d31:InjectedPlotter>
</d31:ChartPlotter>
使用计时器收集数据源,并定义如下:
dataSource = new EnumerableDataSource<ValuePoint>(valuePointCollection[0]);
dataSource.SetXMapping(x => dateAxis.ConvertToDouble(x.Date));
dataSource.SetYMapping(y => y.dValue);
graph.AddLineChart(dataSource);
问题是,它为数据源引发了运行时错误:
System.ArgumentException: 'Cannot create a DataSource of given ItemsSource. Look into a list of DataSource types to determine what data can be passed.'
谁能告诉我如何为图形建立数据源?使用计时器喂入valuePointCollection [0],我确认其中的真实数据有效。