def _plot_errorbars_trainset(self, canvas,
        which_data_rows='all', which_data_ycols='all',
        fixed_inputs=None,
        plot_raw=False, apply_link=False,
        label=None, projection='2d', predict_kw=None, **plot_kwargs):

    ycols = get_which_data_ycols(self, which_data_ycols)
    rows = get_which_data_rows(self, which_data_rows)

    X, _, Y = get_x_y_var(self)

    if fixed_inputs is None:
        fixed_inputs = []
    free_dims = get_free_dims(self, None, fixed_inputs)

    Xgrid = X.copy()
    for i, v in fixed_inputs:
        Xgrid[:, i] = v

    plots = []

    if len(free_dims)<=2 and projection=='2d':
        update_not_existing_kwargs(plot_kwargs, pl().defaults.yerrorbar)
        if predict_kw is None:
                predict_kw = {}
        if 'Y_metadata' not in predict_kw:
            predict_kw['Y_metadata'] = self.Y_metadata or {}
        mu, percs, _ = helper_predict_with_model(self, Xgrid, plot_raw,
                                          apply_link, (2.5, 97.5),
                                          ycols, predict_kw)
        if len(free_dims)==1:
            for d in ycols:
                plots.append(pl().yerrorbar(canvas, X[rows,free_dims[0]], mu[rows,d],
                                          np.vstack([mu[rows, d] - percs[0][rows, d], percs[1][rows, d] - mu[rows,d]]),
                                          label=label,
                                          **plot_kwargs))
#         elif len(free_dims) == 2:
#             for d in ycols:
#                 plots.append(pl().yerrorbar(canvas, X[rows,free_dims[0]], X[rows,free_dims[1]],
#                               np.vstack([mu[rows, d] - percs[0][rows, d], percs[1][rows, d] - mu[rows,d]]),
#                               #color=Y[rows,d],
#                               label=label,
#                               **plot_kwargs))
#                 plots.append(pl().xerrorbar(canvas, X[rows,free_dims[0]], X[rows,free_dims[1]],
#                               np.vstack([mu[rows, d] - percs[0][rows, d], percs[1][rows, d] - mu[rows,d]]),
#                               #color=Y[rows,d],
#                               label=label,
#                               **plot_kwargs))
    else:
        raise NotImplementedError("Cannot plot in more then one dimensions, or 3d")
    return dict(yerrorbars=plots)
dataset/ETHPy150Open SheffieldML/GPy/GPy/plotting/gpy_plot/data_plots.py/_plot_errorbars_trainset/original