Articles in this section
Category / Section

How to perform statistical analysis in WinForms Chart?

5 mins read

Statistical formulas are essential tools that enable end-users to analyze their data, facilitating the creation of more meaningful insights. Within Syncfusion® WinForms Charts.

We can perform the following statistical analysis in chart,

  • Anova Test - The ANOVA (Analysis of Variance) test is used to evaluate the differences in means between two or more groups of data.
  • T-test - Conduct a T-test using Student's T distribution, assuming equal variances.
  • Z-test - Utilize this formula to perform a Z-test using the normal distribution.
  • F-test - The F-test is a statistical test that follows an F-distribution under the null hypothesis.

While performing statistical testing first calculate the Sum of Squares for total, between and within variations. After that calculate degrees of freedom(df) for these variations and then calculate Mean Squares of these variances. Finally calculate F Ratio. 

C#

int numPoints = 200;
int hintervals = 20;

double meanOfFirstSeries = 60;
double varianceOfFirstSeries = 8;

double meanOfSecondSeries = 75;
double varianceOfSecondSeries = 8;

//Configure the first series
ChartSeries series1 = new ChartSeries();
series1.Name = "Series 1";
series1.Type = ChartSeriesType.Histogram;
series1.Text = series1.Name;

double sqrtVarianceOfFirstSeries = Math.Sqrt(varianceOfFirstSeries);
for (int j = 0; j < numPoints; j++)
{
    double p = 1.0 / (numPoints * numPoints) + ((double)j) / numPoints;
    double x = meanOfFirstSeries + sqrtVarianceOfFirstSeries * UtilityFunctions.InverseNormalDistribution(p);
    series1.Points.Add(x, 0);
}
series1.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.FromArgb(128, Color.Blue));
series1.ConfigItems.HistogramItem.ShowNormalDistribution = true;
series1.ConfigItems.HistogramItem.NumberOfIntervals = hintervals;
this.chartControl1.Series.Add(series1);

//Configure the second series
ChartSeries series2 = new ChartSeries();
series2.Name = "Series 2";
series2.Type = ChartSeriesType.Histogram;
series2.Text = series2.Name;

double sqrtVarianceOfSecondSeries = Math.Sqrt(varianceOfSecondSeries);
for (int j = 0; j < numPoints; j++)
{
    double p = 1.0 / (numPoints * numPoints) + ((double)j) / numPoints;
    double x = meanOfSecondSeries + sqrtVarianceOfSecondSeries * UtilityFunctions.InverseNormalDistribution(p);
    series2.Points.Add(x, 0);
}
series2.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.FromArgb(128, Color.Red));
series2.ConfigItems.HistogramItem.ShowNormalDistribution = true;
series2.ConfigItems.HistogramItem.NumberOfIntervals = hintervals;
this.chartControl1.Series.Add(series2);
VB .NET
Dim numPoints As Integer = 200
Dim hintervals As Integer = 20

Dim meanOfFirstSeries As Double = 60
Dim varianceOfFirstSeries As Double = 8

Dim meanOfSecondSeries As Double = 75
Dim varianceOfSecondSeries As Double = 8

'Configure the first series
Dim series1 As New ChartSeries()
series1.Name = "Series 1"
series1.Type = ChartSeriesType.Histogram
series1.Text = series1.Name

Dim sqrtVarianceOfFirstSeries As Double = Math.Sqrt(varianceOfFirstSeries)
For j As Integer = 0 To numPoints - 1
    Dim p As Double = 1.0 / (numPoints * numPoints) + (CDbl(j) / numPoints)
    Dim x As Double = meanOfFirstSeries + sqrtVarianceOfFirstSeries * UtilityFunctions.InverseNormalDistribution(p)
    series1.Points.Add(x, 0)
Next
series1.Style.Interior = New Syncfusion.Drawing.BrushInfo(Color.FromArgb(128, Color.Blue))
series1.ConfigItems.HistogramItem.ShowNormalDistribution = True
series1.ConfigItems.HistogramItem.NumberOfIntervals = hintervals
chart.Series.Add(series1)

'Configure the second series
Dim series2 As New ChartSeries()
series2.Name = "Series 2"
series2.Type = ChartSeriesType.Histogram
series2.Text = series2.Name

Dim sqrtVarianceOfSecondSeries As Double = Math.Sqrt(varianceOfSecondSeries)
For j As Integer = 0 To numPoints - 1
    Dim p As Double = 1.0 / (numPoints * numPoints) + (CDbl(j) / numPoints)
    Dim x As Double = meanOfSecondSeries + sqrtVarianceOfSecondSeries * UtilityFunctions.InverseNormalDistribution(p)
    series2.Points.Add(x, 0)
Next
series2.Style.Interior = New Syncfusion.Drawing.BrushInfo(Color.FromArgb(128, Color.Red))
series2.ConfigItems.HistogramItem.ShowNormalDistribution = True
series2.ConfigItems.HistogramItem.NumberOfIntervals = hintervals
chart.Series.Add(series2)
Output:

perform statistical analysis

This process is detailed in the Chart User Guide under the topic: Statistical Formulas.


Conclusion

I hope you enjoyed learning about how to perform statistical analysis in WinForms Chart.

You can refer to our WinForms Chart feature tour page to know about its other groundbreaking feature representations and documentation, and how to quickly get started with configuration specifications. You can also explore our WinForms Chart examples to understand how to create and manipulate data.

For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion®, you can try our 30-day free trial to check out our other controls.

If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forumsDirect-Trac, or feedback portal. We are always happy to assist you! 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied