我使用Chart WindowsForms Control(System.Windows.Forms.DataVisualization.Charting
名称空间)的Series。
我可以通过手动编码来获得子系列,但是是否有内置函数可以从一系列指定范围获得子系列? (如下所示的伪代码)
Series subseries = bigseries.Point.CopyTo(BeginIndex , EndIndex);
我需要处理多个序列(动态生成),并获取它们的子序列以进行进一步的数据处理。请提示是否有。这样可以节省很多精力。
答案 0 :(得分:1)
我还没有尝试过,但是也许可行:
Series subSeries = new Series();
bigSeries.Points
.Skip(BeginIndex)
.Take(EndIndex - BeginIndex)
.ToList().ForEach(subSeries.Points.Add);
答案 1 :(得分:0)
使用Skip
和Take
方法从列表中动态选择项目。
var listDemo = new List<int> { 1,2,3,4,5,6,7,8};
var beginIndex = 2;
var endIndex = 2;
var result = listDemo.Skip(beginIndex).Take(endIndex).ToList();
答案 2 :(得分:0)
这是从多个系列中获取子系列并在图表上显示的部分代码。感谢@Tim Schmelter,@ Serge和其他人的宝贵答案和评论。
List<Series> ListSeries = new List<Series>();
foreach(Series series in chart1.Series)
{
Series subSeries = new Series();
series.Points.Skip(BeginIndex).Take(EndIndex - BeginIndex).ToList().ForEach(subSeries.Points.Add);
ListSeries.Add(subSeries);
}
chart1.Series.Clear();
foreach (Series series in ListSeries)
{
series.ChartType = SeriesChartType.Line;
chart1.Series.Add(series);
}
}