Source code for GPy.plotting.matplot_dep.priors_plots

# Copyright (c) 2012, GPy authors (see AUTHORS.txt).
# Licensed under the BSD 3-clause license (see LICENSE.txt)


import numpy as np
try:
    from matplotlib import pyplot as pb
except:
    pass


[docs]def univariate_plot(prior): rvs = prior.rvs(1000) pb.hist(rvs, 100, density=True) xmin, xmax = pb.xlim() xx = np.linspace(xmin, xmax, 1000) pb.plot(xx, prior.pdf(xx), 'r', linewidth=2)
[docs]def plot(prior): if prior.input_dim == 2: rvs = prior.rvs(200) pb.plot(rvs[:, 0], rvs[:, 1], 'kx', mew=1.5) xmin, xmax = pb.xlim() ymin, ymax = pb.ylim() xx, yy = np.mgrid[xmin:xmax:100j, ymin:ymax:100j] xflat = np.vstack((xx.flatten(), yy.flatten())).T zz = prior.pdf(xflat).reshape(100, 100) pb.contour(xx, yy, zz, linewidths=2) else: raise NotImplementedError("Cannot define a frame with more than two input dimensions")