protected void AddSeries(ChartData <TX, TY> chartData, XYDiagram diagram) { _view.ClearAllSeries(); var allSeriesList = new List <Series>(); foreach (var paneData in chartData.Panes) { allSeriesList.AddRange(addCurveAsSeries(paneData, diagram, x => x.Curves, CreateCurveSeriesList)); allSeriesList.AddRange(addCurveAsSeries(paneData, diagram, x => x.ObservedCurveData, CreateObservedDataSeriesList)); } //display legend for each seriesName != "" once var allSeriesGroupByName = allSeriesList .Where(s => !string.IsNullOrEmpty(s.Name)) .GroupBy(s => s.Name); foreach (var seriesGroup in allSeriesGroupByName) { seriesGroup.First().ShowInLegend = true; } _view.Bind(reorderedSeries(allSeriesList)); }