code: def display_markers(self):
          
          for item in self.idx_markers:
              self.scene.removeItem(item)
          self.idx_markers = []
  
          window_start = self.parent.value('window_start')
          window_length = self.parent.value('window_length')
          window_end = window_start + window_length
          y_distance = self.parent.value('y_distance')
  
          markers = []
          if self.parent.info.markers is not None:
              if self.parent.value('marker_show'):
                  markers = self.parent.info.markers
  
          for mrk in markers:
              if window_start <= mrk['end'] and window_end >= mrk['start']:
  
                  mrk_start = max((mrk['start'], window_start))
                  mrk_end = min((mrk['end'], window_end))
                  color = QColor(self.parent.value('marker_color'))
  
                  item = QGraphicsRectItem(mrk_start, 0,
                                           mrk_end - mrk_start,
                                           len(self.idx_label) * y_distance)
                  item.setPen(color)
                  item.setBrush(color)
                  item.setZValue(-9)
                  self.scene.addItem(item)
  
                  item = TextItem_with_BG(color.darker(200))
                  item.setText(mrk['name'])
                  item.setPos(mrk['start'],
                              len(self.idx_label) *
                              self.parent.value('y_distance'))
                  item.setFlag(QGraphicsItem.ItemIgnoresTransformations)
                  item.setRotation(-90)
                  self.scene.addItem(item)
                  self.idx_markers.append(item)
docs: Add markers on top of first plot.