/// <summary> /// Helper function for plotting. /// </summary> private void Plot(string indexColumnName, IDataFrame dataFrame) { var indexValues = dataFrame.GetColumn(indexColumnName).AsDate().ToValues(); var remainingColumns = dataFrame.DropColumn("index").GetColumns(); var allSeriesData = remainingColumns .Select(column => { var label = column.GetName(); var entries = LinqExts.Zip( indexValues, column.AsFloat().ToValues(), (index, value) => new { index, value } ) .ToArray(); return new { label, entries }; }) .ToArray(); foreach (var seriesData in allSeriesData) { var series = new Series(seriesData.label); foreach (var entry in seriesData.entries) { series.Points.AddXY(entry.index, entry.value); } chart1.Series.Add(series); } }