def onExperimentsSelectionChanged()

in mbrl/diagnostics/training_browser.py [0:0]


    def onExperimentsSelectionChanged(self, sel1=None, sel2=None):
        self.labelTable.reloadExperiments(self.experiment_names)

        selection = self.tableView.selectionModel()

        global user_name_dict
        if selection.hasSelection():
            self.axes.cla()

            for rowIndex in [row.row() for row in selection.selectedRows()]:
                if self.experiment_results[rowIndex].endswith(SOURCE):
                    result = pd.read_csv(self.experiment_results[rowIndex])

                    self.axes.plot(
                        result[XCOL],
                        result[YCOL],
                        label=self.experiment_names[rowIndex],
                    )
                elif self.experiment_results[rowIndex].endswith(MULTI_ROOT):
                    time_series = None
                    data_series = []
                    for path in glob.glob(
                        self.experiment_results[rowIndex].replace(MULTI_ROOT, "")
                        + "**/{}".format(SOURCE),
                        recursive=True,
                    ):
                        result = pd.read_csv(path)

                        time_series = (
                            result[XCOL] if time_series is None else time_series
                        )
                        data_series.append(result[YCOL])

                    df = pd.concat(data_series, axis=1)
                    mean_series = df.mean(axis=1)
                    var_series = df.std(axis=1)

                    mean_line = self.axes.plot(
                        time_series,
                        mean_series,
                        label=user_name_dict[self.experiment_names[rowIndex]],
                    )
                    self.axes.fill_between(
                        time_series,
                        mean_series + var_series,
                        mean_series - var_series,
                        color=mean_line[0].get_color(),
                        alpha=0.25,
                    )

            if self.logYAxisCheckbox.checkState():
                self.axes.semilogy()

            self.axes.set_xlabel(user_name_dict["x_label"])
            self.axes.set_ylabel(user_name_dict["y_label"])

            self.axes.legend()
            self.graphWidget.draw()