Example #1
0
        /// <summary>
        /// Populates the ListView with all statistics.
        /// </summary>
        /// <param name="series">reference to a series object</param>
        /// <param name="granularity">granularity of current graph</param>
        private void FillGraphStatistics(Series series, int granularity)
        {
            if (null == series)
            {
                return;
            }

            graphStatistics.Items.Clear();
            SeriesGraphStatistics stat = series.GraphStatistics;

            graphStatistics.Items.Add("Average").SubItems.Add(GetStatistics(stat, StatisticsFunctionKind.Average));
            graphStatistics.Items.Add("Minimum").SubItems.Add(GetStatistics(stat, StatisticsFunctionKind.Minimum));
            graphStatistics.Items.Add("Maximum").SubItems.Add(GetStatistics(stat, StatisticsFunctionKind.Maximum));
            graphStatistics.Items.Add("Median").SubItems.Add(GetStatistics(stat, StatisticsFunctionKind.Median));
            graphStatistics.Items.Add("Std. Deviation").SubItems.Add(GetStatistics(stat, StatisticsFunctionKind.StdDeviation));
            textBoxGranularity.Text = granularity.ToString();

            rawStatistics.Items.Clear();
            SeriesRawStatistics raw_stat = series.RawStatistics;

            rawStatistics.Items.Add("Average").SubItems.Add(GetStatistics(raw_stat, StatisticsFunctionKind.Average));
            rawStatistics.Items.Add("Minimum").SubItems.Add(GetStatistics(raw_stat, StatisticsFunctionKind.Minimum));
            rawStatistics.Items.Add("Maximum").SubItems.Add(GetStatistics(raw_stat, StatisticsFunctionKind.Maximum));
            rawStatistics.Items.Add("Count").SubItems.Add(GetStatistics(raw_stat, StatisticsFunctionKind.Count));
            rawStatistics.Items.Add("Std. Deviation").SubItems.Add(GetStatistics(raw_stat, StatisticsFunctionKind.StdDeviation));
            rawStatistics.Items.Add("Sum").SubItems.Add(GetStatistics(raw_stat, StatisticsFunctionKind.Sum));
        }
Example #2
0
        /// <summary>
        /// Get a string representation for statistics
        /// </summary>
        /// <param name="stat">reference to a statistics object</param>
        /// <param name="function">statistics function type</param>
        /// <returns>string representation of specified statistics</returns>
        private string GetStatistics(CommonSeriesStatistics stat, StatisticsFunctionKind function)
        {
            string result = String.Empty;

            SeriesGraphStatistics s_gs = null;
            SeriesRawStatistics   s_rs = null;

            //check statistics type
            if (stat is SeriesRawStatistics)
            {
                s_rs = (SeriesRawStatistics)stat;

                //if statistics are available, store in variable
                if (s_rs.IsFunctionAvailable(function))
                {
                    switch (function)
                    {
                    //statistics is calculated with 3 digits precision
                    case StatisticsFunctionKind.Average:
                        result = s_rs.Average.ToString("0.000");
                        break;

                    case StatisticsFunctionKind.Count:
                        result = s_rs.Count.ToString("0.000");
                        break;

                    case StatisticsFunctionKind.Maximum:
                        result = s_rs.Maximum.ToString("0.000");
                        break;

                    case StatisticsFunctionKind.Minimum:
                        result = s_rs.Minimum.ToString("0.000");
                        break;

                    case StatisticsFunctionKind.StdDeviation:
                        result = s_rs.StdDeviation.ToString("0.000");
                        break;

                    case StatisticsFunctionKind.Sum:
                        result = s_rs.Sum.ToString("0.000");
                        break;

                    default:
                        result = "Unknown function";
                        break;
                    }
                }
                else
                {
                    //statistics not available
                    result = "N/A";
                }
            }

            //check statistics type
            if (stat is SeriesGraphStatistics)
            {
                s_gs = (SeriesGraphStatistics)stat;

                //if statistics are available, store in variable
                if (s_gs.IsFunctionAvailable(function))
                {
                    switch (function)
                    {
                    case StatisticsFunctionKind.Average:
                        result = s_gs.Average.ToString("0.000");
                        break;

                    case StatisticsFunctionKind.Maximum:
                        result = s_gs.Maximum.ToString("0.000");
                        break;

                    case StatisticsFunctionKind.Minimum:
                        result = s_gs.Minimum.ToString("0.000");
                        break;

                    case StatisticsFunctionKind.Median:
                        result = s_gs.Median.ToString("0.000");
                        break;

                    case StatisticsFunctionKind.StdDeviation:
                        result = s_gs.StdDeviation.ToString("0.000");
                        break;

                    default:
                        result = "Unknown function";
                        break;
                    }
                }
                else
                {
                    //statistics not available
                    result = "N/A";
                }
            }

            return(result);
        }