In statistics, the Gamma distribution is often used to model probabilities related to waiting times.
The following examples show how to use the scipy.stats.gamma() function to plot one or more Gamma distributions in Python.
Example 1: Plot One Gamma Distribution
The following code shows how to plot a Gamma distribution with a shape parameter of 5 and a scale parameter of 3 in Python:
import numpy as np import scipy.stats as stats import matplotlib.pyplot as plt #define x-axis values x = np.linspace (0, 40, 100) #calculate pdf of Gamma distribution for each x-value y = stats.gamma.pdf(x, a=5, scale=3) #create plot of Gamma distribution plt.plot(x, y) #display plot plt.show()
The x-axis displays the potential values that a Gamma distributed random variable can take on and the y-axis shows the corresponding PDF values of the Gamma distribution with a shape parameter of 5 and scale parameter of 3.
Example 2: Plot Multiple Gamma Distributions
The following code shows how to plot multiple Gamma distributions with various shape and scale parameters:
import numpy as np import scipy.stats as stats import matplotlib.pyplot as plt #define three Gamma distributions x = np.linspace(0, 40, 100) y1 = stats.gamma.pdf(x, a=5, scale=3) y2 = stats.gamma.pdf(x, a=2, scale=5) y3 = stats.gamma.pdf(x, a=4, scale=2) #add lines for each distribution plt.plot(x, y1, label=shape=5, scale=3') plt.plot(x, y2, label='shape=2, scale=5') plt.plot(x, y3, label='shape=4, scale=2') #add legend plt.legend() #display plot plt.show()
Notice that the shape of the Gamma distribution can vary quite a bit depending on the shape and scale parameters.
Related: How to Plot Multiple Lines in Matplotlib
Additional Resources
The following tutorials explain how to plot other common distributions in Python:
How to Plot a Normal Distribution in Python
How to Plot a Chi-Square Distribution in Python