import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as colors
import scipy.stats as stats
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
_, ax = plt.subplots()
mu, sigma = 0, 2.
x = np.linspace(mu - 3 * sigma - 1, mu + 3 * sigma + 1, 1000)
d1 = lambda x: stats.laplace.pdf(x, mu, sigma)
d2 = lambda x: stats.laplace.pdf(x, mu + 1, sigma)
ax.plot(x, d1(x), c=colors.CSS4_COLORS['royalblue'], linewidth=4, alpha=.7)
ax.plot(x, d2(x), c=colors.CSS4_COLORS['crimson'], linewidth=4, alpha=.7)
# Hide the right and top spines
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['bottom'].set_position(('data', 0))
ax.tick_params(axis='x', length=6, width=1)
plt.xticks(size=16, alpha=.7)
ax.yaxis.set_visible(False)
ax.annotate(r'$\mathrm{Lap}(0,2)$',
xy=(-1.1, d1(-1)),
xytext=(-2.5, d1(-1) + .01),
horizontalalignment='right',
fontsize=20,
arrowprops=dict(facecolor='black', alpha=.5, headlength=5, headwidth=5, width=1))
ax.annotate(r'$\mathrm{Lap}(1,2)$',
xy=(2.1, d2(2)),
xytext=(4, d2(2) + .01),
horizontalalignment='left',
fontsize=20,
arrowprops=dict(facecolor='black', alpha=.5, headlength=5, headwidth=5, width=1))
# plt.show()
plt.savefig('laplace.png', transparent=True, bbox_inches='tight')