St0*_*fer 5 c# wpf charts devexpress series
我在运行时在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));
}
}
Run Code Online (Sandbox Code Playgroud)
这发生在backgroundworker完成的事件中,所需的所有数据都在相应的列表中.在我正在运行的测试实例中,创建了6个系列.
每个系列都包含我在x轴上需要的一些测试测量.这些测量值可以是相同的值(在很多情况下都是相同的值).我想要的是y轴包含测量的次数,例如-21.这将最终创建一条曲线.
现在我为每个测量创建一个系列点,但我不知道如何在这个特定场景中处理ArgumentDataMember/ValueDataMember.有没有办法让图表自动进行计数,还是需要手动完成?任何人都可以帮我回到正轨吗?
在添加系列点之前,我最终对测量值进行了明确的计数。
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1687 次 |
| 最近记录: |