def plot(self, plot_limits=None, fixed_inputs=None,<EOL>resolution=None,<EOL>plot_raw=False, apply_link=False,<EOL>which_data_ycols='<STR_LIT:all>', which_data_rows='<STR_LIT:all>',<EOL>visible_dims=None,<EOL>levels=<NUM_LIT:20>, samples=<NUM_LIT:0>, samples_likelihood=<NUM_LIT:0>, lower=<NUM_LIT>, upper=<NUM_LIT>,<EOL>plot_data=True, plot_inducing=True, plot_density=False,<EOL>predict_kw=None, projection='<STR_LIT>', legend=True, **kwargs):
X = get_x_y_var(self)[<NUM_LIT:0>]<EOL>helper_data = helper_for_plot_data(self, X, plot_limits, visible_dims, fixed_inputs, resolution)<EOL>xmin, xmax = helper_data[<NUM_LIT:5>:<NUM_LIT:7>]<EOL>free_dims = helper_data[<NUM_LIT:1>]<EOL>if not '<STR_LIT>' in kwargs:<EOL><INDENT>kwargs['<STR_LIT>'] = (xmin[<NUM_LIT:0>], xmax[<NUM_LIT:0>])<EOL><DEDENT>if not '<STR_LIT>' in kwargs and len(free_dims) == <NUM_LIT:2>:<EOL><INDENT>kwargs['<STR_LIT>'] = (xmin[<NUM_LIT:1>], xmax[<NUM_LIT:1>])<EOL><DEDENT>canvas, _ = pl().new_canvas(projection=projection, **kwargs)<EOL>helper_prediction = helper_predict_with_model(self, helper_data[<NUM_LIT:2>], plot_raw,<EOL>apply_link, np.linspace(<NUM_LIT>, <NUM_LIT>, levels*<NUM_LIT:2>) if plot_density else (lower,upper),<EOL>get_which_data_ycols(self, which_data_ycols),<EOL>predict_kw, samples)<EOL>if plot_raw and not apply_link:<EOL><INDENT>plot_data = False<EOL><DEDENT>plots = {}<EOL>if hasattr(self, '<STR_LIT>') and plot_inducing:<EOL><INDENT>plots.update(_plot_inducing(self, canvas, free_dims, projection, '<STR_LIT>'))<EOL><DEDENT>if plot_data:<EOL><INDENT>plots.update(_plot_data(self, canvas, which_data_rows, which_data_ycols, free_dims, projection, "<STR_LIT>"))<EOL>plots.update(_plot_data_error(self, canvas, which_data_rows, which_data_ycols, free_dims, projection, "<STR_LIT>"))<EOL><DEDENT>plots.update(_plot(self, canvas, plots, helper_data, helper_prediction, levels, plot_inducing, plot_density, projection))<EOL>if plot_raw and (samples_likelihood > <NUM_LIT:0>):<EOL><INDENT>helper_prediction = helper_predict_with_model(self, helper_data[<NUM_LIT:2>], False,<EOL>apply_link, None,<EOL>get_which_data_ycols(self, which_data_ycols),<EOL>predict_kw, samples_likelihood)<EOL>plots.update(_plot_samples(canvas, helper_data, helper_prediction, projection, "<STR_LIT>"))<EOL><DEDENT>return pl().add_to_canvas(canvas, plots, legend=legend)<EOL>
Convenience function for plotting the fit of a GP.

You can deactivate the legend for this one plot by supplying None to label.

Give the Y_metadata in the predict_kw if you need it.


If you want fine graned control use the specific plotting functions supplied in the model.

:param plot_limits: The limits of the plot. If 1D [xmin,xmax], if 2D [[xmin,ymin],[xmax,ymax]]. Defaluts to data limits
:type plot_limits: np.array
:param fixed_inputs: a list of tuple [(i,v), (i,v)...], specifying that input dimension i should be set to value v.
:type fixed_inputs: a list of tuples
:param int resolution: The resolution of the prediction [default:200]
:param bool plot_raw: plot the latent function (usually denoted f) only?
:param bool apply_link: whether to apply the link function of the GP to the raw prediction.
:param which_data_ycols: when the data has several columns (independant outputs), only plot these
:type which_data_ycols: 'all' or a list of integers
:param which_data_rows: which of the training data to plot (default all)
:type which_data_rows: 'all' or a slice object to slice self.X, self.Y
:param array-like visible_dims: which columns of the input X (!) to plot (array-like or list of ints)
:param int levels: the number of levels in the density (number bigger then 1, where 35 is smooth and 1 is the same as plot_confidence). You can go higher then 50 if the result is not smooth enough for you.
:param int samples: the number of samples to draw from the GP and plot into the plot. This will allways be samples from the latent function.
:param int samples_likelihood: the number of samples to draw from the GP and apply the likelihood noise. This is usually not what you want!
:param float lower: the lower percentile to plot
:param float upper: the upper percentile to plot
:param bool plot_data: plot the data into the plot?
:param bool plot_inducing: plot inducing inputs?
:param bool plot_density: plot density instead of the confidence interval?
:param dict predict_kw: the keyword arguments for the prediction. If you want to plot a specific kernel give dict(kern=<specific kernel>) in here
:param {2d|3d} projection: plot in 2d or 3d?
:param bool legend: convenience, whether to put a legend on the plot or not.