private void InitGradeChart()
        {
            List <int> groupedGrades = ComputeStatistics.GroupGrades(grades);

            gradeChart.Series = new SeriesCollection {
                new ColumnSeries
                {
                    Title  = "Grades",
                    Values = new ChartValues <int>
                    {
                        groupedGrades[0],
                        groupedGrades[1],
                        groupedGrades[2],
                        groupedGrades[3],
                        groupedGrades[4],
                        groupedGrades[5],
                        groupedGrades[6],
                        groupedGrades[7],
                        groupedGrades[8],
                        groupedGrades[9]
                    }
                }
            };
            gradeChart.AxisX = new AxesCollection {
                new Axis
                {
                    Title  = "Grade",
                    Labels = new[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }
                }
            };
            gradeChart.AxisY = new AxesCollection {
                new Axis
                {
                    Title          = "Number of Students",
                    LabelFormatter = value => value.ToString("N")
                }
            };
            averageGradeLabel.Text = "Average: " +
                                     ComputeStatistics.ComputeAverageSingles(grades).ToString();
            string mostCommon = "Most Common: ";

            foreach (int i in ComputeStatistics.ComputeMostCommonSingles(grades))
            {
                mostCommon += i.ToString() + " ";
            }
            mostCommonGradeLabel.Text = mostCommon;
            medianGradeLabel.Text     = "Median: " +
                                        ComputeStatistics.ComputeMedianSingles(grades).ToString();
            varianceGradeLabel.Text = "Variance: " +
                                      ComputeStatistics.ComputeVarianceSingles(grades).ToString();
        }
        private void InitSelfStudyHoursChart()
        {
            double[] groupedHours = ComputeStatistics.GroupHours(selfStudyHours);
            selfStudyHoursChart.Series = new SeriesCollection {
                new RowSeries
                {
                    Title  = "selfStudy Hours",
                    Values = new ChartValues <double>
                    {
                        groupedHours[0] / ratings.Count,
                        groupedHours[1] / ratings.Count,
                        groupedHours[2] / ratings.Count,
                        groupedHours[3] / ratings.Count,
                        groupedHours[4] / ratings.Count,
                    }
                }
            };
            selfStudyHoursChart.AxisY = new AxesCollection {
                new Axis
                {
                    Title  = "Hours per week",
                    Labels = new[] { "0-1", "2-3", "4-5", "6-7", "8+" }
                }
            };
            selfStudyHoursChart.AxisX = new AxesCollection {
                new Axis
                {
                    Title          = "% of Ratings",
                    LabelFormatter = value => value.ToString("N")
                }
            };
            averageSelfStudyHoursLabel.Text = "Average: " +
                                              ComputeStatistics.ComputeAverageSingles(selfStudyHours).ToString();
            string mostCommon = "Most Common: ";

            foreach (int i in ComputeStatistics.ComputeMostCommonSingles(selfStudyHours))
            {
                mostCommon += i.ToString() + " ";
            }
            mostCommonSelfStudyHoursLabel.Text = mostCommon;
            medianSelfStudyHoursLabel.Text     = "Median: " +
                                                 ComputeStatistics.ComputeMedianSingles(selfStudyHours).ToString();
            varianceSelfStudyHoursLabel.Text = "Variance: " +
                                               ComputeStatistics.ComputeVarianceSingles(selfStudyHours).ToString();
        }
Esempio n. 3
0
        private void GetValuesFromCourses()
        {
            overallRatings     = new int[5];
            organizedRatings   = new int[5];
            interestingRatings = new int[5];
            presentedRatings   = new int[5];
            learnedRatings     = new int[5];
            List <int> contactHoursList   = new List <int>();
            List <int> selfStudyHoursList = new List <int>();
            List <int> gradesList         = new List <int>();
            List <Tuple <int, bool> > gradesAndPassedList = new List <Tuple <int, bool> >();

            foreach (Rating rating in Ratings)
            {
                overallRatings[rating.OverallRating - 1]++;
                organizedRatings[rating.Organized - 1]++;
                interestingRatings[rating.Interesting - 1]++;
                presentedRatings[rating.Presentation - 1]++;
                learnedRatings[rating.Learned - 1]++;
                contactHoursList.Add(rating.ContactHours);
                selfStudyHoursList.Add(rating.SelfStudyHours);
                gradesList.Add(rating.Grade);
                gradesAndPassedList.Add(new Tuple <int, bool>(rating.Grade, rating.PassedFirstTime));
            }

            contactHours    = ComputeStatistics.GroupHours(contactHoursList);
            selfStudyHours  = ComputeStatistics.GroupHours(selfStudyHoursList);
            grades          = ComputeStatistics.GroupGrades(gradesList);
            gradesAndPassed = ComputeStatistics.GroupPassed(gradesAndPassedList);

            double tmp = ComputeStatistics.ComputeAverageGrouped(overallRatings);

            overallAverage  = "Average: " + tmp.ToString("0.##");
            tmp             = ComputeStatistics.ComputeMedianGrouped(overallRatings);
            overallMedian   = "Median: " + tmp.ToString("0.##");
            tmp             = ComputeStatistics.ComputeVarianceGrouped(overallRatings);
            overallVariance = "Variance: " + tmp.ToString("0.####");
            List <int> tmpList = ComputeStatistics.ComputeMostCommonGrouped(overallRatings);

            overallMostCommon = "Most common: " + string.Join(',', tmpList);

            tmp = ComputeStatistics.ComputeAverageGrouped(organizedRatings);
            organizedAverage = "Average: " + tmp.ToString("0.##");
            tmp                 = ComputeStatistics.ComputeMedianGrouped(organizedRatings);
            organizedMedian     = "Median: " + tmp.ToString("0.##");
            tmp                 = ComputeStatistics.ComputeVarianceGrouped(organizedRatings);
            organizedVariance   = "Variance: " + tmp.ToString("0.####");
            tmpList             = ComputeStatistics.ComputeMostCommonGrouped(organizedRatings);
            organizedMostCommon = "Most common: " + string.Join(',', tmpList);

            tmp = ComputeStatistics.ComputeAverageGrouped(presentedRatings);
            presentedAverage = "Average: " + tmp.ToString("0.##");
            tmp                 = ComputeStatistics.ComputeMedianGrouped(presentedRatings);
            presentedMedian     = "Median: " + tmp.ToString("0.##");
            tmp                 = ComputeStatistics.ComputeVarianceGrouped(presentedRatings);
            presentedVariance   = "Variance: " + tmp.ToString("0.####");
            tmpList             = ComputeStatistics.ComputeMostCommonGrouped(presentedRatings);
            presentedMostCommon = "Most common: " + string.Join(',', tmpList);

            tmp = ComputeStatistics.ComputeAverageGrouped(interestingRatings);
            interestingAverage = "Average: " + tmp.ToString("0.##");
            tmp = ComputeStatistics.ComputeMedianGrouped(interestingRatings);
            interestingMedian = "Median: " + tmp.ToString("0.##");
            tmp = ComputeStatistics.ComputeVarianceGrouped(interestingRatings);
            interestingVariance   = "Variance: " + tmp.ToString("0.####");
            tmpList               = ComputeStatistics.ComputeMostCommonGrouped(interestingRatings);
            interestingMostCommon = "Most common: " + string.Join(',', tmpList);

            tmp               = ComputeStatistics.ComputeAverageGrouped(learnedRatings);
            learnedAverage    = "Average: " + tmp.ToString("0.##");
            tmp               = ComputeStatistics.ComputeMedianGrouped(learnedRatings);
            learnedMedian     = "Median: " + tmp.ToString("0.##");
            tmp               = ComputeStatistics.ComputeVarianceGrouped(learnedRatings);
            learnedVariance   = "Variance: " + tmp.ToString("0.####");
            tmpList           = ComputeStatistics.ComputeMostCommonGrouped(learnedRatings);
            learnedMostCommon = "Most common: " + string.Join(',', tmpList);

            tmp = ComputeStatistics.ComputeAverageSingles(contactHoursList);
            contactHoursAverage = "Average: " + tmp.ToString("0.##");
            tmp = ComputeStatistics.ComputeMedianSingles(contactHoursList);
            contactHoursMedian = "Median: " + tmp.ToString("0.##");
            tmp = ComputeStatistics.ComputeVarianceSingles(contactHoursList);
            contactHoursVariance = "Variance: " + tmp.ToString("0.####");
            tmpList = ComputeStatistics.ComputeMostCommonSingles(contactHoursList);
            contactHoursMostCommon = "Most common: " + string.Join(',', tmpList);

            tmp = ComputeStatistics.ComputeAverageSingles(selfStudyHoursList);
            selfStudyHoursAverage = "Average: " + tmp.ToString("0.##");
            tmp = ComputeStatistics.ComputeMedianSingles(selfStudyHoursList);
            selfStudyHoursMedian = "Median: " + tmp.ToString("0.##");
            tmp = ComputeStatistics.ComputeVarianceSingles(selfStudyHoursList);
            selfStudyHoursVariance = "Variance: " + tmp.ToString("0.####");
            tmpList = ComputeStatistics.ComputeMostCommonSingles(selfStudyHoursList);
            selfStudyHoursMostCommon = "Most common: " + string.Join(',', tmpList);

            tmp              = ComputeStatistics.ComputeAverageSingles(gradesList);
            gradesAverage    = "Average: " + tmp.ToString("0.##");
            tmp              = ComputeStatistics.ComputeMedianSingles(gradesList);
            gradesMedian     = "Median: " + tmp.ToString("0.##");
            tmp              = ComputeStatistics.ComputeVarianceSingles(gradesList);
            gradesVariance   = "Variance: " + tmp.ToString("0.####");
            tmpList          = ComputeStatistics.ComputeMostCommonSingles(gradesList);
            gradesMostCommon = "Most common: " + string.Join(',', tmpList);
        }