@staticmethod
    def get_gaussian_ellipse_artist(gaussian, nstd=1.96, linewidth=1):
        assert(isinstance(gaussian, Gaussian))
        assert(gaussian.dimension == 2)
        
        # compute eigenvalues (ordered)
        vals, vecs = eigh(gaussian.L.dot(gaussian.L.T))
        order = vals.argsort()[::-1]
        vals, vecs = vals[order], vecs[:, order]
        
        theta = numpy.degrees(arctan2(*vecs[:, 0][::-1]))

        # width and height are "full" widths, not radius
        width, height = 2 * nstd * sqrt(vals)
        e = Ellipse(xy=gaussian.mu, width=width, height=height, angle=theta, \
                   edgecolor="red", fill=False, linewidth=linewidth)
        
        return e
Returns an allipse artist for nstd times the standard deviation of this
dataset/ETHPy150Open karlnapf/kameleon-mcmc/kameleon_mcmc/tools/Visualise.py/Visualise.get_gaussian_ellipse_artist