Exemple #1
0
        private IReadOnlyCollection <IAggregatedChartViewModel> CreateChartForAllStints(ICollection <IGrouping <int, LapTelemetryDto> > lapsStintGrouping)
        {
            string            title       = BuildTitleForAllStints(lapsStintGrouping);
            AxisDefinition    xAxis       = new AxisDefinition(_y1AxisDataExtractor.XMajorTickSize, _y1AxisDataExtractor.XMajorTickSize / 4, _y1AxisDataExtractor.XUnit);
            AxisDefinition    y1Axis      = new AxisDefinition(_y1AxisDataExtractor.YMajorTickSize, _y1AxisDataExtractor.YMajorTickSize / 4, _y1AxisDataExtractor.YUnit);
            AxisDefinition    y2Axis      = new AxisDefinition(_y2AxisDataExtractor.YMajorTickSize, _y2AxisDataExtractor.YMajorTickSize / 4, _y2AxisDataExtractor.YUnit);
            ScatterPlot2YAxis scatterPlot = new ScatterPlot2YAxis(title, xAxis, y1Axis, y2Axis);

            IColorPaletteProvider colorPaletteProvider = new BasicColorPaletteProvider();

            foreach (IGrouping <int, LapTelemetryDto> lapsInStintGroup in lapsStintGrouping)
            {
                string series1Title = $"Laps: {string.Join(", ", lapsInStintGroup.Select(x => x.LapSummary.CustomDisplayName))} - Stint: {lapsInStintGroup.Key}";
                scatterPlot.AddScatterPlotSeries(_y1AxisDataExtractor.ExtractSeries(lapsInStintGroup, _filters, Y1Title + "-" + series1Title, colorPaletteProvider.GetNext().ToOxyColor()));
                scatterPlot.AddScatterPlotY2Series(_y2AxisDataExtractor.ExtractSeries(lapsInStintGroup, _filters, Y2Title + "-" + series1Title, colorPaletteProvider.GetNext().ToOxyColor()));
            }
            OnNewScatterPlot(scatterPlot);
            ScatterPlot2YAxisChartViewModel viewModel = new ScatterPlot2YAxisChartViewModel()
            {
                Title = ChartName
            };

            viewModel.FromModel(scatterPlot);
            return(new[] { viewModel });
        }
        private IReadOnlyCollection <IAggregatedChartViewModel> CreateChartForAllStints(ICollection <IGrouping <int, LapTelemetryDto> > lapsStintGrouping)
        {
            string         title       = BuildTitleForAllStints(lapsStintGrouping);
            AxisDefinition xAxis       = new AxisDefinition(_dataExtractor.XMajorTickSize, _dataExtractor.XMajorTickSize / 4, _dataExtractor.XUnit);
            AxisDefinition yAxis       = new AxisDefinition(_dataExtractor.YMajorTickSize, _dataExtractor.YMajorTickSize / 4, _dataExtractor.YUnit);
            ScatterPlot    scatterPlot = new ScatterPlot(title, xAxis, yAxis);

            IColorPaletteProvider colorPaletteProvider = new BasicColorPaletteProvider();

            foreach (IGrouping <int, LapTelemetryDto> lapsInStintGroup in lapsStintGrouping)
            {
                string seriesTitle = $"Laps: {string.Join(", ", lapsInStintGroup.Select(x => x.LapSummary.CustomDisplayName))} - Stint: {lapsInStintGroup.Key}";
                scatterPlot.AddScatterPlotSeries(_dataExtractor.ExtractSeries(lapsInStintGroup, Enumerable.Empty <ITelemetryFilter>().ToList(), seriesTitle, colorPaletteProvider.GetNext().ToOxyColor()));
            }

            ScatterPlotChartViewModel viewModel = new ScatterPlotChartViewModel(_dataPointSelectionSynchronization)
            {
                Title = ChartName
            };

            viewModel.FromModel(scatterPlot);
            return(new[] { viewModel });
        }