一連のデータをプロットする関数を設定しようとしていますが、Chart コントロールは常にいくつかのエラーを出します。このコントロールには適切なチュートリアルがないため、本当に面倒です。
これまでのところ、私はこのコードを持っています:
using System.Windows.Controls.DataVisualization.Charting;
public DataTable results;
public void plot ( Chart chr ) {
int cols = results.Columns.Count;
int rows = results.Rows.Count;
for ( int j = 1 ; j < cols ; j++ ) {
//Add serie
string name = results.Columns[j].ColumnName;
//add data for the serie
List<PlotValue> values = new List<PlotValue>( );
for ( int i = 0 ; i < rows ; i++ ) {
DateTime? x = results.Rows[i][0] as DateTime?; //time
double y = double.Parse( results.Rows[i][j].ToString( ) ); //Value
values.Add( new PlotValue( x , y ) );
}
LineSeries serie = new LineSeries();
serie.LegendItems.Add( name );
serie.ItemsSource = values;
chr.Series.Add( serie );
}
}
「結果」は、別の非同期プロセスによって変更された DataTable であるため、この別のプロセスが終了したときにそれを読みたいだけです。
このクラスも定義しました。
public class PlotValue {
public DateTime? Date { get; set; }
public double Value { get; set; }
public PlotValue ( DateTime? date , double val ) {
Date = date;
Value = val;
}
}
これまでのところ、エラーは、軸がないことを示しており (これは理にかなっています)、それらを追加する方法についての手がかりがありません。
シリーズの数が変わる可能性があるため、設計時には XAML を使用せず、実行時には C# コードのみを使用したいと考えています。
または、誰もが経験したことがある、より単純な他のコントロールに移動します。
私は .net 4.5 を使用しており、チャート コントロールは [System.Windows.Controls.DataVisualization.Charting] に属しています。
前もって感謝します!!