在图表系列中累积值-WPF DevExpress

本文关键字:-WPF DevExpress 系列 | 更新日期: 2023-09-27 18:26:09

我正在运行时为DevExpress中的图表控件创建几个行序列。序列必须在运行时创建,因为序列的数量可能与我所做的数据查询不同

foreach (var item in lstSPCPrintID)
{
    string seriesName = Convert.ToString(item);
    LineSeries2D series = new LineSeries2D();
    dxcSPCDiagram.Series.Add(series);
    series.DisplayName = seriesName;
    var meas = from x in lstSPCChart
                where x.intSPCPrintID == item
                select new { x.intSPCMeas };
    foreach (var item2 in meas)
    {
        series.Points.Add(new SeriesPoint(item2.intSPCMeas));
    }
}

这发生在后台工作人员完成的事件中,所有需要的数据都在相应的列表中。在我运行的测试实例中,创建了6个系列。

每个系列都包含一些我需要在x轴上进行的测试测量。这些测量值可以是相同的值(在很多情况下都是相同的)。我想要的是y轴包含测量次数的计数,例如-21。这最终会创建一条曲线。

现在,我为每个测量创建了一个序列点,但我不知道如何在这个特定场景中处理ArgumentDataMember/ValueDataMember。图表有没有自动计数的方法,或者我需要手动计数?有人能帮我回到正轨吗?

在图表系列中累积值-WPF DevExpress

在添加系列点之前,我最终对测量值进行了不同的计数。

foreach (var item in lstSPCPrintID)            
{
    string seriesName = String.Format("Position: {0}", Convert.ToString(item));
    LineStackedSeries2D series = new LineStackedSeries2D();
    series.ArgumentScaleType = ScaleType.Numerical;
    series.DisplayName = seriesName;
    series.SeriesAnimation = new Line2DUnwindAnimation();
    var meas = from x in lstSPCChart
               where x.intSPCPrintID == item
               select new { x.dblSPCMeas };
    var measDistinctCount = meas.GroupBy(x => x.dblSPCMeas).Select(group => new { Meas = group.Key, Count = group.Count() }).OrderBy(y => y.Meas);
    foreach (var item2 in measDistinctCount)
    {
        series.Points.Add(new SeriesPoint(item2.Meas, item2.Count));
    }
    dxcSPCDiagram.Series.Add(series);
    series.Animate();
}