import numpy as np import scipy.stats as st import matplotlib.pyplot as plt plt.style.use('ggplot') pmat = np.vstack([np.linspace(1, 20, 20), np.linspace(2, 10, 20), np.linspace(3, 5, 20)]).T p = np.asarray([st.dirichlet.rvs(p_, 200) for p_ in pmat]) _, ax = plt.subplots(1, 1, figsize=(10, 5)) C = ['C0', 'C1', 'C2'] for j in range(200): pvec = p[:, j, :] pvec_ = np.hstack([np.zeros((20, 1)), np.cumsum(pvec, axis=1)]) for i in range(3): ax.fill_between(np.arange(20), pvec_[:, i], pvec_[:, i+1], alpha=.01, facecolor=C[i]);