1

一連のデータをプロットする関数を設定しようとしていますが、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] に属しています。

前もって感謝します!!

4

0 に答える 0