def __init__(self, store_file): self.store_file = store_file args = utl.GetTrainedEmulator(store_file) emulator = args[0] prior = args[1] self.exp_Y = args[2] self.exp_Yerr = args[3] self.model_X = args[4] self.model_Y = args[5] init_training_idx = args[6] self.viewer = EmulatorViewer( prior.index, prior["Min"], prior["Max"], 0.5 * (prior["Min"] + prior["Max"]), size=(1000, 700), parent=None, ) self.model = emulator self.current_values = 0.5 * \ (prior["Min"] + prior["Max"]).values.flatten() init_value, init_cov = self.model.Predict(self.current_values) self.X = np.arange(init_value.shape[1]) self.line, _, (self.bars,) = self.viewer.ax.errorbar( self.X, init_value.flatten(), yerr=np.sqrt(np.diag(np.atleast_1d(np.squeeze(init_cov)))).flatten(), marker="o", linewidth=2, color="red", ) self.bg_line, _, (self.bg_bars,) = self.viewer.ax.errorbar( self.X, self.exp_Y, yerr=self.exp_Yerr, marker="o", linewidth=2, color="b") # set plot display range self.viewer.ax.set_ylim(np.min(self.model_Y.values), np.max(self.model_Y.values)) par_name = [name[0:15] if len( name) > 14 else name for name in list(self.model_Y)] self.viewer.ax.set_xticks(self.X) self.viewer.ax.set_xticklabels(par_name, rotation=45) self.viewer.RefreshFig() self.items = ["Check All", "Exp"] + \ self.model_Y.index.astype(str).tolist() self.viewer.clb.SetItems(self.items) self.viewer.clb.SetCheckedItems( [0, 1] + [item + 2 for item in init_training_idx] ) pub.subscribe(self.CheckObj, "Slider_Value", func=self.OnSlider) pub.subscribe( self.CheckObj, "Emulator_ListSelect", func=self.OnListSelect) pub.subscribe( self.CheckObj, "Emulator_CheckSelect", func=self.OnCheckboxSelect) pub.subscribe(self.CheckObj, "Emulator_Retrain", func=self.OnRetrain)