How to Plot a Chi-Square Distribution in Python


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.

Leave a Reply

Your email address will not be published.