def _get_profiles_curve(self): x, y, con = self.__get_disconnected_curve_data(self.y_data) pen = self.make_pen(self.color) curve = pg.PlotCurveItem(x=x, y=y, connect=con, pen=pen) Updater.update_lines([curve], **self.graph.parameter_setter.line_settings) return curve
def update_wide_curves(**_settings): self.wide_line_settings.update(**_settings) if self.master.display_convex_hull: Updater.update_lines(self.master.hull_items, **self.wide_line_settings) else: Updater.update_lines(self.master.curve_items, **self.wide_line_settings)
def update_legend(self) -> None: self.legend.clear() for text, c in self.colors.items(): dot = pg.ScatterPlotItem(pen=pg.mkPen(color=c), brush=pg.mkBrush(color=c)) self.legend.addItem(dot, text) self.legend.show() Updater.update_legend_font(self.legend.items, **self.parameter_setter.legend_settings)
def update_legend(self): self.legend.clear() self.legend.hide() for color, text in self.master.get_legend_data(): dot = pg.ScatterPlotItem(pen=pg.mkPen(color=color), brush=pg.mkBrush(color=color)) self.legend.addItem(dot, escape(text)) self.legend.show() Updater.update_legend_font(self.legend.items, **self.parameter_setter.legend_settings)
def _clear_axes(self): self.getAxis("left").setTicks(None) self.getAxis("bottom").setTicks(None) Updater.update_axes_titles_font( self.parameter_setter.axis_items, **self.parameter_setter.titles_settings) Updater.update_axes_ticks_font(self.parameter_setter.axis_items, **self.parameter_setter.ticks_settings) self.getAxis("bottom").setRotateTicks( self.parameter_setter.is_vertical_setting)
def update_legend(self, variable): self.legend.clear() self.legend.hide() if variable and variable.is_discrete: for name, color in zip(variable.values, variable.colors): c = QColor(*color) dots = pg.ScatterPlotItem(pen=c, brush=c, size=10, shape="s") self.legend.addItem(dots, escape(name)) self.legend.show() Updater.update_legend_font(self.legend_items, **self.legend_settings)
def _clear_axes(self): self.setAxisItems({ "bottom": AxisItem(orientation="bottom"), "left": AxisItem(orientation="left") }) Updater.update_axes_titles_font( self.parameter_setter.axis_items, **self.parameter_setter.titles_settings) Updater.update_axes_ticks_font(self.parameter_setter.axis_items, **self.parameter_setter.ticks_settings) self.getAxis("bottom").setRotateTicks( self.parameter_setter.is_vertical_setting)
def __init__(self, parent): self.value_label_font = Updater.change_font( QFont(), VariableItem.VALUE_FONT_SETTING) self.label_len_setting = { self.LABEL_LENGTH: VariableItem.MAX_LABEL_LEN } super().__init__() self.master: FeaturesPlot = parent
def _add_line(self, x, y, color): width = self.parameter_setter.reg_line_settings[Updater.WIDTH_LABEL] alpha = self.parameter_setter.reg_line_settings[Updater.ALPHA_LABEL] style = self.parameter_setter.reg_line_settings[Updater.STYLE_LABEL] style = Updater.LINE_STYLES[style] color.setAlpha(alpha) if self.orthonormal_regression: line = self._orthonormal_line(x, y, color, width, style) else: line = self._regression_line(x, y, color, width, style) if line is None: return self.plot_widget.addItem(line) self.reg_line_items.append(line) if hasattr(line, "label"): Updater.update_label_font( [line.label], self.parameter_setter.reg_line_label_font)
def __init__(self, parent, label: str): self.__name: str = None self.__value: Optional[str] = None self.__name_item = QGraphicsSimpleTextItem() self.__value_item = QGraphicsSimpleTextItem() font = Updater.change_font(QFont(), self.VALUE_FONT_SETTING) self.__value_item.setFont(font) self.__max_len = self.MAX_LABEL_LEN super().__init__(parent) self._set_data(label)
def update_ticks(**settings): self.ticks_settings.update(**settings) Updater.update_axes_ticks_font(self.axis_items, **settings)
def _get_mean_curve(self): pen = self.make_pen(self.color.darker(LinePlotStyle.MEAN_DARK_FACTOR)) curve = pg.PlotCurveItem(x=self.x_data, y=self.__mean, pen=pen) Updater.update_lines([curve], **self.graph.mean_settings) return curve
def _get_sel_profiles_curve(self): curve = pg.PlotCurveItem(x=None, y=None, pen=self.make_pen(self.color)) Updater.update_lines([curve], **self.graph.sel_line_settings) return curve
def update_name_label(**settings): self.label_font = Updater.change_font(self.label_font, settings) _update_labels(self.label_font, 0)
def update_sel_lines(**settings): self.sel_line_settings.update(**settings) Updater.update_lines(self.sel_lines_items, **self.sel_line_settings)
def update_mean(**settings): self.mean_settings.update(**settings) Updater.update_lines(self.mean_lines_items, **self.mean_settings)
def update_legend(**settings): font = Updater.change_font(self.legend.font(), settings) self.legend.set_font(font)
def update_line_label(**settings): self.reg_line_label_font = \ Updater.change_font(self.reg_line_label_font, settings) Updater.update_label_font(self.reg_line_label_items, self.reg_line_label_font)
def update_lines(**settings): self.reg_line_settings.update(**settings) Updater.update_inf_lines(self.reg_line_items, **self.reg_line_settings) self.master.update_reg_line_label_colors()
def update_value_label(**settings): self.value_label_font = \ Updater.change_font(self.value_label_font, settings) _update_labels(self.value_label_font, 1)
def update_anchors(**settings): self.anchor_font = Updater.change_font(self.anchor_font, settings) self.update_anchors()
def update_default_line(**_settings): self.default_line_settings.update(**_settings) Updater.update_lines(self.default_line_items, **self.default_line_settings)
def update_thin_curves(**_settings): self.line_settings.update(**_settings) if self.master.display_convex_hull: Updater.update_lines(self.master.curve_items, **self.line_settings)