def plot_magnification(self, labels=None, which_indices=None,<EOL>resolution=<NUM_LIT>, marker='<STR_LIT>', legend=True,<EOL>plot_limits=None,<EOL>updates=False,<EOL>mean=True, covariance=True,<EOL>kern=None, num_samples=<NUM_LIT:1000>,<EOL>scatter_kwargs=None, plot_scatter=True,<EOL>**imshow_kwargs):
input_1, input_2 = which_indices = self.get_most_significant_input_dimensions(which_indices)[:<NUM_LIT:2>]<EOL>X = get_x_y_var(self)[<NUM_LIT:0>]<EOL>_, _, Xgrid, _, _, xmin, xmax, resolution = helper_for_plot_data(self, X, plot_limits, which_indices, None, resolution)<EOL>canvas, imshow_kwargs = pl().new_canvas(xlim=(xmin[<NUM_LIT:0>], xmax[<NUM_LIT:0>]), ylim=(xmin[<NUM_LIT:1>], xmax[<NUM_LIT:1>]),<EOL>xlabel='<STR_LIT>' % input_1, ylabel='<STR_LIT>' % input_2, **imshow_kwargs)<EOL>plots = {}<EOL>if legend and plot_scatter:<EOL><INDENT>if (labels is not None):<EOL><INDENT>legend = find_best_layout_for_subplots(len(np.unique(labels)))[<NUM_LIT:1>]<EOL><DEDENT>else:<EOL><INDENT>labels = np.ones(self.num_data)<EOL>legend = False<EOL><DEDENT><DEDENT>if plot_scatter:<EOL><INDENT>plots['<STR_LIT>'] = _plot_latent_scatter(canvas, X, which_indices, labels, marker, num_samples, projection='<STR_LIT>', **scatter_kwargs or {})<EOL><DEDENT>plots['<STR_LIT>'] = _plot_magnification(self, canvas, which_indices, Xgrid, xmin, xmax, resolution, updates, mean, covariance, kern, **imshow_kwargs)<EOL>retval = pl().add_to_canvas(canvas, plots,<EOL>legend=legend,<EOL>)<EOL>_wait_for_updates(plots['<STR_LIT>'], updates)<EOL>return retval<EOL>
Plot the magnification factor of the GP on the inputs. This is the
density of the GP as a gray scale.

:param array-like labels: a label for each data point (row) of the inputs
:param (int, int) which_indices: which input dimensions to plot against each other
:param int resolution: the resolution at which we predict the magnification factor
:param str marker: markers to use - cycle if more labels then markers are given
:param bool legend: whether to plot the legend on the figure
:param plot_limits: the plot limits for the plot
:type plot_limits: (xmin, xmax, ymin, ymax) or ((xmin, xmax), (ymin, ymax))
:param bool updates: if possible, make interactive updates using the specific library you are using
:param bool mean: use the mean of the Wishart embedding for the magnification factor
:param bool covariance: use the covariance of the Wishart embedding for the magnification factor
:param :py:class:`~GPy.kern.Kern` kern: the kernel to use for prediction
:param int num_samples: the number of samples to plot maximally. We do a stratified subsample from the labels, if the number of samples (in X) is higher then num_samples.
:param imshow_kwargs: the kwargs for the imshow (magnification factor)
:param kwargs: the kwargs for the scatter plots