def METHOD_NAME(self):
    """Function for plotting dim reduced trajectories and bubbles"""
    self.plt.clear()
    # Dim reduced data plotting
    newDat = np.array([self.visual.data[0], self.visual.data[1]])
    self.data_red = np.vstack([self.data_red, newDat])
    self.scatter.setData(pos=self.data_red)
    self.plt.addItem(self.scatter)
    # bubble plotting
    for n in np.arange(self.visual.bw_L.shape[0]):
        if n not in self.visual.bw_dead_nodes:  #ignore dead nodes
            el = np.linalg.inv(self.visual.bw_L[n])
            sig = el.T @ el
            u,s,v = np.linalg.svd(sig)
            width, height = np.sqrt(s[0])*3, np.sqrt(s[1])*3
            angle = atan2(v[0,1],v[0,0])*360 / (2*np.pi)
            alpha_mat = 0.4
            x = self.visual.bw_mu[n,0]
            y = self.visual.bw_mu[n,1]
            el = QtWidgets.QGraphicsEllipseItem(x-(width/2), y-(height/2), width, height, self.plt)
            el.setBrush(pyqtgraph.mkBrush(QColor(237, 103, 19, int(alpha_mat/1*255))))
            el.setPen(pyqtgraph.mkPen(None))
            el.setTransformOriginPoint(x, y)
            el.setRotation(angle)
            self.plt.addItem(el)
    mask = np.ones(self.visual.bw_mu.shape[0], dtype=bool)
    mask[self.visual.bw_n_obs < .1] = False
    mask[self.visual.bw_dead_nodes] = False
    self.bw_center.setData(x = self.visual.bw_mu[mask, 0], y = self.visual.bw_mu[mask, 1])
    self.plt.addItem(self.bw_center)