# Draw samples from the distribution: a = 2. # parameter s = np.random.zipf(a, 1000) # Display the histogram of the samples, along with # the probability density function: import matplotlib.pyplot as plt import scipy.special as sps # Truncate s values at 50 so plot is interesting count, bins, ignored = plt.hist(s[s<50], 50, normed=True) x = np.arange(1., 50.) y = x**(-a)/sps.zetac(a) plt.plot(x, y/max(y), linewidth=2, color='r') plt.show()