15.1 C
London
Friday, July 5, 2024
HomePythonProbability Distributions in PythonHow to Plot a Chi-Square Distribution in Python

How to Plot a Chi-Square Distribution in Python

Related stories

Learn About Opening an Automobile Repair Shop in India

Starting a car repair shop is quite a good...

Unlocking the Power: Embracing the Benefits of Tax-Free Investing

  Unlocking the Power: Embracing the Benefits of Tax-Free Investing For...

Income Splitting in Canada for 2023

  Income Splitting in Canada for 2023 The federal government’s expanded...

Can I Deduct Home Office Expenses on my Tax Return 2023?

Can I Deduct Home Office Expenses on my Tax...

Canadian Tax – Personal Tax Deadline 2022

  Canadian Tax – Personal Tax Deadline 2022 Resources and Tools...

To plot a Chi-Square distribution in Python, you can use the following syntax:

#x-axis ranges from 0 to 20 with .001 steps
x = np.arange(0, 20, 0.001)

#plot Chi-square distribution with 4 degrees of freedom
plt.plot(x, chi2.pdf(x, df=4))

The x array defines the range for the x-axis and the plt.plot() produces the curve for the Chi-square distribution with the specified degrees of freedom.

The following examples show how to use these functions in practice.

Example 1: Plot a Single Chi-Square Distribution

The following code shows how to plot a single Chi-square distribution curve with 4 degrees of freedom

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import chi2

#x-axis ranges from 0 to 20 with .001 steps
x = np.arange(0, 20, 0.001)

#plot Chi-square distribution with 4 degrees of freedom
plt.plot(x, chi2.pdf(x, df=4))

Plot Chi-Square distribution in Python

You can also modify the color and the width of the line in the graph:

plt.plot(x, chi2.pdf(x, df=4), color='red', linewidth=3)

Example 2: Plot Multiple Chi-Square Distributions

The following code shows how to plot multiple Chi-square distribution curves with different degrees of freedom:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import chi2

#x-axis ranges from 0 to 20 with .001 steps
x = np.arange(0, 20, 0.001)

#define multiple Chi-square distributions
plt.plot(x, chi2.pdf(x, df=4), label='df: 4')
plt.plot(x, chi2.pdf(x, df=8), label='df: 8') 
plt.plot(x, chi2.pdf(x, df=12), label='df: 12') 

#add legend to plot
plt.legend()

Feel free to modify the colors of the lines and add a title and axes labels to make the chart complete:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import chi2

#x-axis ranges from 0 to 20 with .001 steps
x = np.arange(0, 20, 0.001)

#define multiple Chi-square distributions
plt.plot(x, chi2.pdf(x, df=4), label='df: 4', color='gold')
plt.plot(x, chi2.pdf(x, df=8), label='df: 8', color='red')
plt.plot(x, chi2.pdf(x, df=12), label='df: 12', color='pink') 

#add legend to plot
plt.legend(title='Parameters')

#add axes labels and a title
plt.ylabel('Density')
plt.xlabel('x')
plt.title('Chi-Square Distributions', fontsize=14)

Plot multiple Chi-square distributions in Python

Refer to the matplotlib documentation for an in-depth explanation of the plt.plot() function.

Subscribe

- Never miss a story with notifications

- Gain full access to our premium content

- Browse free from up to 5 devices at once

Latest stories