def draw_errors(self, x, i): lower = self.values[i]+self._dw_err[i] upper = self.values[i]+self._up_err[i] lineItem = QGraphicsLineItem(0, self.coordY(lower), 0, self.coordY(upper), parent=self.item) lineItem.setX(x) lineItem.setPen(QPen(QColor('black'),1))
def draw_stick(self, x, y, i): lineItem = QGraphicsLineItem(0, self.coordY(self.ylim[0]), 0, self.coordY(y), parent=self.item) lineItem.setX(x) lineItem.setPen(QPen(QColor(self.colors[i]), 2))
def draw_errors(self, x, i): lower = self.values[i] + self._dw_err[i] upper = self.values[i] + self._up_err[i] lineItem = QGraphicsLineItem(0, self.coordY(lower), 0, self.coordY(upper), parent=self.item) lineItem.setX(x) lineItem.setPen(QPen(QColor('black'), 1))
def draw_curve(self, x, y, i): # top line lineItem = QGraphicsLineItem(0, self.coordY(y), 4, self.coordY(y), parent=self.item) lineItem.setX(x-2) lineItem.setPen(QPen(QColor(self.colors[i]),2)) if i > 0: prev = self.values[i-1] if i>0 else self.values[i] lineItem = QGraphicsLineItem(0, self.coordY(prev), self.col_w-4, self.coordY(y), parent=self.item) lineItem.setX(x - self.col_w+2) lineItem.setPen(QPen(QColor(self.colors[i]),2))
def draw_x_axis(self): lineItem = QGraphicsLineItem(self.col_w / 2, self.coordY(self.ylim[0]) + 2, self.width - self.col_w / 2, self.coordY(self.ylim[0]) + 2, parent=self.item) lineItem.setPen(QPen(QColor('black'))) lineItem.setZValue(10) all_vals = list(range(0, len(self.values), self.x_inter_values)) if (len(self.values) - 1) % self.x_inter_values: all_vals += [len(self.values) - 1] hp_x = [] if self.hp: for x in list(range(0, len(self.values))): if self.x_values[x] in self.hp: hp_x.append(x) if not x in all_vals: all_vals += [x] all_vals.sort() for x in all_vals: lineItem = QGraphicsLineItem(0, self.coordY(self.ylim[0]) + 2, 0, self.coordY(self.ylim[0]) + 6, parent=self.item) lineItem.setX(x * self.col_w + self.col_w / 2) lineItem.setPen(QPen(QColor('black'))) lineItem.setZValue(10) if x in hp_x: text = QGraphicsSimpleTextItem("*" + str(self.x_values[x])) qfont = QFont("Arial", self.fsize - 1) #qfont.setBold(True) text.setFont(qfont) else: text = QGraphicsSimpleTextItem(" " + str(self.x_values[x])) text.setFont(QFont("Arial", self.fsize - 1)) text.rotate(-90) text.setParentItem(self.item) text.setZValue(10) tw = text.boundingRect().width() th = text.boundingRect().height() # Center text according to masterItem size text.setPos(x * self.col_w - th / 2 + self.col_w / 2, tw + self.coordY(self.ylim[0]) + 7)
def draw_curve(self, x, y, i): # top line lineItem = QGraphicsLineItem(0, self.coordY(y), 4, self.coordY(y), parent=self.item) lineItem.setX(x - 2) lineItem.setPen(QPen(QColor(self.colors[i]), 2)) if i > 0: prev = self.values[i - 1] if i > 0 else self.values[i] lineItem = QGraphicsLineItem(0, self.coordY(prev), self.col_w - 4, self.coordY(y), parent=self.item) lineItem.setX(x - self.col_w + 2) lineItem.setPen(QPen(QColor(self.colors[i]), 2))
def draw_stick(self, x, y, i): lineItem = QGraphicsLineItem(0, self.coordY(self.ylim[0]), 0, self.coordY(y), parent=self.item) lineItem.setX(x) lineItem.setPen(QPen(QColor(self.colors[i]),2))
def draw_bar(self, x, y, i): h = self.coordY(self.ylim[0])#self.height coordY = self.coordY item = self.item # if value stands out of bound if y < self.ylim[0]: return if y < self.ylim[1]: # left line lineItem = QGraphicsLineItem(0, h, 0, coordY(y), parent=item) lineItem.setX(x-3) lineItem.setPen(QPen(QColor(self.colors[i]),2)) # right line lineItem = QGraphicsLineItem(0, h, 0, coordY(y), parent=item) lineItem.setX(x+3) lineItem.setPen(QPen(QColor(self.colors[i]),2)) # top line lineItem = QGraphicsLineItem(0, coordY(y), 6, coordY(y), parent=item) lineItem.setX(x-3) lineItem.setPen(QPen(QColor(self.colors[i]),2)) else: # lower left line lineItem = QGraphicsLineItem(0, h, 0, coordY(y), parent=item) lineItem.setX(x-3) lineItem.setPen(QPen(QColor(self.colors[i]),2)) # lower right line lineItem = QGraphicsLineItem(0, h, 0, coordY(y), parent=item) lineItem.setX(x+3) lineItem.setPen(QPen(QColor(self.colors[i]),2)) # upper left line lineItem = QGraphicsLineItem(0, coordY(y)-4, 0, coordY(y)-7, parent=item) lineItem.setX(x-3) lineItem.setPen(QPen(QColor(self.colors[i]),2)) # upper right line lineItem = QGraphicsLineItem(0, coordY(y)-4, 0, coordY(y)-7, parent=item) lineItem.setX(x+3) lineItem.setPen(QPen(QColor(self.colors[i]),2)) # top line lineItem = QGraphicsLineItem(0, coordY(y)-7, 6, coordY(y)-7, parent=item) lineItem.setX(x-3) lineItem.setPen(QPen(QColor(self.colors[i]),2))
def draw_bar(self, x, y, i): h = self.coordY(self.ylim[0]) #self.height coordY = self.coordY item = self.item # if value stands out of bound if y < self.ylim[0]: return if y < self.ylim[1]: # left line lineItem = QGraphicsLineItem(0, h, 0, coordY(y), parent=item) lineItem.setX(x - 3) lineItem.setPen(QPen(QColor(self.colors[i]), 2)) # right line lineItem = QGraphicsLineItem(0, h, 0, coordY(y), parent=item) lineItem.setX(x + 3) lineItem.setPen(QPen(QColor(self.colors[i]), 2)) # top line lineItem = QGraphicsLineItem(0, coordY(y), 6, coordY(y), parent=item) lineItem.setX(x - 3) lineItem.setPen(QPen(QColor(self.colors[i]), 2)) else: # lower left line lineItem = QGraphicsLineItem(0, h, 0, coordY(y), parent=item) lineItem.setX(x - 3) lineItem.setPen(QPen(QColor(self.colors[i]), 2)) # lower right line lineItem = QGraphicsLineItem(0, h, 0, coordY(y), parent=item) lineItem.setX(x + 3) lineItem.setPen(QPen(QColor(self.colors[i]), 2)) # upper left line lineItem = QGraphicsLineItem(0, coordY(y) - 4, 0, coordY(y) - 7, parent=item) lineItem.setX(x - 3) lineItem.setPen(QPen(QColor(self.colors[i]), 2)) # upper right line lineItem = QGraphicsLineItem(0, coordY(y) - 4, 0, coordY(y) - 7, parent=item) lineItem.setX(x + 3) lineItem.setPen(QPen(QColor(self.colors[i]), 2)) # top line lineItem = QGraphicsLineItem(0, coordY(y) - 7, 6, coordY(y) - 7, parent=item) lineItem.setX(x - 3) lineItem.setPen(QPen(QColor(self.colors[i]), 2))