fig = plt.figure(figsize=figsz)
ax = plt.axes(aspect='equal')
plt.axis([-10, 10, -10, 10])

# common ellipse properties
ellprops = {'facecolor': 'none', 'lw': 2}

# plot prior
width, height, theta = get_cov_ellipse_params(prior_cov)
prior_ell = Ellipse(xy=prior_mu, width=width, height=height, angle=theta, 
                    edgecolor=next(ax._get_lines.prop_cycler)['color'], 
                    **ellprops)
ax.add_artist(prior_ell)

# handles for legend
lh = [lines.Line2D([], [], color=prior_ell.get_ec(), label='prior')]

# plot dots
dots = plt.plot(0, 0, '.', visible=False)[0]
lh.append(lines.Line2D([], [], ls='none', marker='.', color=dots.get_color(), 
                       label='data'))

# sample mean
smean = plt.plot(0, 0, '+', mew=2, visible=False)[0]
lh.append(lines.Line2D([], [], ls='none', marker='+', color=smean.get_color(), 
                       label='sample mean'))

# plot posterior of mean
width, height, theta = get_cov_ellipse_params(prior_cov)
post_ell = Ellipse(xy=prior_mu, width=width, height=height, angle=theta, 
                   edgecolor=next(ax._get_lines.prop_cycler)['color'],