def plot_steepest_gradient_map(self, output_labels=None, data_labels=None, which_indices=None,<EOL>resolution=<NUM_LIT:15>, legend=True,<EOL>plot_limits=None,<EOL>updates=False,<EOL>kern=None, marker='<STR_LIT>',<EOL>num_samples=<NUM_LIT:1000>,<EOL>annotation_kwargs=None, scatter_kwargs=None, **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>if (data_labels is not None):<EOL><INDENT>legend = find_best_layout_for_subplots(len(np.unique(data_labels)))[<NUM_LIT:1>]<EOL><DEDENT>else:<EOL><INDENT>data_labels = np.ones(self.num_data)<EOL>legend = False<EOL><DEDENT>plots = dict(scatter=_plot_latent_scatter(canvas, X, which_indices, data_labels, marker, num_samples, **scatter_kwargs or {}))<EOL>plots.update(_plot_steepest_gradient_map(self, canvas, which_indices, Xgrid, xmin, xmax, resolution, output_labels, updates, kern, annotation_kwargs=annotation_kwargs, **imshow_kwargs))<EOL>retval = pl().add_to_canvas(canvas, plots, legend=legend)<EOL>_wait_for_updates(plots['<STR_LIT>'], updates)<EOL>return retval<EOL>
Plot the latent space of the GP on the inputs. This is the
density of the GP posterior as a grey scale and the
scatter plot of the input dimemsions selected by which_indices.

: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 bool legend: whether to plot the legend on the figure, if int plot legend columns on legend
: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 :py:class:`~GPy.kern.Kern` kern: the kernel to use for prediction
:param str marker: markers to use - cycle if more labels then markers are given
: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 annotation_kwargs: the kwargs for the annotation plot
:param scatter_kwargs: the kwargs for the scatter plots