def _plot(self, canvas, plots, helper_data, helper_prediction, levels, plot_inducing=True, plot_density=False, projection='2d'):
        plots.update(_plot_mean(self, canvas, helper_data, helper_prediction, levels, projection, 'Mean'))

        try:
            if projection=='2d':
                if not plot_density:
                    plots.update(_plot_confidence(self, canvas, helper_data, helper_prediction, "Confidence"))
                else:
                    plots.update(_plot_density(self, canvas, helper_data, helper_prediction, "Density"))
        except __HOLE__:
            #plotting in 2d
            pass

        if helper_prediction[2] is not None:
            plots.update(_plot_samples(self, canvas, helper_data, helper_prediction, projection, "Samples"))
        return plots
dataset/ETHPy150Open SheffieldML/GPy/GPy/plotting/gpy_plot/gp_plots.py/_plot