我一直在尝试设置一个函数来绘制一些数据系列,而图表控件总是给出一些错误,这真的很烦人,因为这个控件没有合适的教程。
到目前为止,我有这个代码:
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;
}
}
到目前为止,错误是它告诉我没有轴(这是有道理的),我不知道如何添加它们。
请我想在设计时使用 NO XAML,在运行时只使用 C# 代码,因为系列的数量可能会改变。
或者,我会更直接地转向任何其他人都有经验的控制。
我在.net 4.5上,图表控件属于[System.Windows.Controls.DataVisualization.Charting]
提前致谢!!