DynamicDataDisplay を使用してリアルタイム信号をプロットしています。チャートにマーカーと線の両方を表示したいので、使用する必要があると思いますLineAndMarker<MarkerPointsGraph>
。xy データが更新されるとき、私のロジックは、グラフの線を追加するのではなく、日付ソースのみを更新することです。その場合でも、データが大きくて更新が速い場合はパフォーマンスが得られます。私の質問は次のとおりです。 の DataSource ドメインが表示されないためLineAndMarker<MarkerPointsGraph>
、データを更新する方法がわかりません。LineGraph
の代わりに使用した例を次に示しLineAndMarker<MarkerPointsGraph>
ます。しかし、LineGraph
マーカーを処理していないようです。
for (int i = 0; i < _nColorChannels; i++)
{
if (_dataX[i].Length == _dataY[i].Length)
{
EnumerableDataSource<int> xOneCh = new EnumerableDataSource<int>(_dataX[i]);
xOneCh.SetXMapping(xVal => xVal);
EnumerableDataSource<int> yOneCh = new EnumerableDataSource<int>(_dataY[i]);
yOneCh.SetYMapping(yVal => yVal);
CompositeDataSource ds = new CompositeDataSource(xOneCh, yOneCh);
Action UpdateData = delegate()
{
((LineGraph)plotter.Children.ElementAt(startIndex + i)).DataSource = ds;
};
this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal,
UpdateData);
}
}
どんな提案でも大歓迎です。ありがとうございました。ニック
少し更新: DataSource があるようですが、できるインスタンスMarkerPointsGraph
を作成するにはどうすればよいですか? バージョンの作成方法のようなもの:MarkerPointsGraph
AddLineGraph()
LineGraph
LineGraph lg = new LineGraph();
lg = plotter.AddLineGraph(dsOneCh, _lineprofileColor[i], marker, "Data");