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()