def _regression_update_legend_colors(self): def _get_colors_domain(domain): class_var = domain.class_var start, end, pass_through_black = class_var.colors if pass_through_black: lst_colors = [QColor(*c) for c in [start, (0, 0, 0), end]] else: lst_colors = [QColor(*c) for c in [start, end]] return lst_colors # The colors are the class mean if self.target_class_index == 1: values = (np.min(self.clf_dataset.Y), np.max(self.clf_dataset.Y)) colors = _get_colors_domain(self.model.domain) while len(values) != len(colors): values.insert(1, -1) items = list(zip(values, colors)) # Colors are the stddev elif self.target_class_index == 2: values = (0, np.std(self.clf_dataset.Y)) colors = _get_colors_domain(self.model.domain) while len(values) != len(colors): values.insert(1, -1) items = list(zip(values, colors)) else: items = None self.legend = OWContinuousLegend(items=items, **self.LEGEND_OPTIONS) self.legend.setVisible(self.show_legend) self.scene.addItem(self.legend)
def _regression_update_legend_colors(self): if self.legend is not None: self.scene.removeItem(self.legend) def _get_colors_domain(domain): class_var = domain.class_var start, end, pass_through_black = class_var.colors if pass_through_black: lst_colors = [ QtGui.QColor(*c) for c in [start, (0, 0, 0), end] ] else: lst_colors = [QtGui.QColor(*c) for c in [start, end]] return lst_colors # Currently, the first index just draws the outline without any color if self.target_class_index == 0: self.legend = None return # The colors are the class mean elif self.target_class_index == 1: values = (np.min(self.clf_dataset.Y), np.max(self.clf_dataset.Y)) colors = _get_colors_domain(self.model.domain) while len(values) != len(colors): values.insert(1, -1) self.legend = OWContinuousLegend(items=list(zip(values, colors)), **self.LEGEND_OPTIONS) # Colors are the stddev elif self.target_class_index == 2: values = (0, np.std(self.clf_dataset.Y)) colors = _get_colors_domain(self.model.domain) while len(values) != len(colors): values.insert(1, -1) self.legend = OWContinuousLegend(items=list(zip(values, colors)), **self.LEGEND_OPTIONS) self.legend.setVisible(self.show_legend) self.scene.addItem(self.legend)
def _regression_update_legend_colors(self): # The colors are the class mean palette = self.model.domain.class_var.palette if self.target_class_index == 1: items = ((np.min(self.data.Y), np.max(self.data.Y)), palette) # Colors are the stddev elif self.target_class_index == 2: items = ((0, np.std(self.data.Y)), palette) else: items = None self.legend = OWContinuousLegend(items=items, **self.LEGEND_OPTIONS) self.legend.setVisible(self.show_legend) self.scene.addItem(self.legend)