如何将自定义对象列表绑定到图表

时间:2017-11-21 21:16:52

标签: c# charts

我有一个像这样的对象列表:

public class Result
{
    public decimal Errors { get; set; }
    public DateTime Date { get; set; }

    public Result(decimal errors, DateTime date)
    {
        this.Errors = errors;
        this.Date = date;
    }
}

我想将它绑定到图表,其中Date在X上,而Errors在Y上。

图表应如下所示:

enter image description here

这是我到目前为止所做的:

chartStats.Series.Clear();
        List<decimal> yValues = new List<decimal>();
        List<DateTime> xValues = new List<DateTime>();
        foreach (var item in Data.List)
        {
            yValues.Add(item.Errors);
            xValues.Add(item.Date);
        }
        var series = new Series()
        {
            ChartType = SeriesChartType.Column,
            IsVisibleInLegend = false
        };
        chartStats.Series.Add(series);
        chartStats.Series[0].Points.DataBindXY(xValues, yValues);

我该怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,我想出了另一种方法来做我想做的事。

我已经编辑了之前项目中使用的一些代码:

        chartStats.Series.Clear();
        var series1 = new Series
        {
            Name = "Series1",
            Color = System.Drawing.Color.Green,
            IsVisibleInLegend = false,
            IsXValueIndexed = true,
            ChartType = SeriesChartType.Column,
            XValueType = ChartValueType.DateTime
        };

        chartStats.Series.Add(series1);

        foreach(var result in Data.List)
        {
            series1.Points.AddXY(result.Date, result.Errors);
        }
        chartStats.Invalidate();

DateTime存在一些问题,但我在XValueType中添加了Series

谢谢大家的帮助。