title: Pyqt5 with pyqtgraph building two graphs
body: <p>I am trying to build an application using the PyQt5 and pyqtgraph framework. Essentially I am trying to put two graphs in a QWidget within the QMainwindow. I am unit testing right now, and I am having a hard time coding the graphs using PlotWidget, GraphicsWindow, or GraphicsObject. Essentially two identical glasses to be call in third, that will be centralized in a fourth class. This is what I have so far.</p>
  
  <pre><code>import sys
  from PyQt5.QtWidgets import (QWidget, QVBoxLayout, QApplication)
  import pyqtgraph as pg
  
  class CustomPlot(pg.GraphicsObject):
      def __init__(self):
          pg.GraphicsObject.__init__(self)
          self.x = np.random.normal(size=1000) * 1e-5
          self.y = self.x * 500 + 0.005 * np.random.normal(size=1000)
          self.y -= self.y.min() - 1.0
          self.mask = self.x &gt; 1e-15
          self.x = self.x[self.mask]
          self.y = self.y[self.mask]
          self.plot(self.x, self.y, pen='g', symbol='o', symbolPen='g', symbolSize=1))
  
  # a class for the second plot to be displayed underneath the first via 
  # QVBoxLayout
  
  class CustomPlot1(pg.GraphicsObject):
      def __init__(self):
          pg.GraphicsObject.__init__(self)
          self.x = np.random.normal(size=1000) * 1e-5 #
          self.y = self.x * 750 + 0.005 * np.random.normal(size=1000)
          self.y -= self.y.min() - 1.0
          self.mask = self.x &gt; 1e-15
          self.x = self.x[self.mask]
          self.y = self.y[self.mask]
          self.plot(self.x, self.y, pen='g', symbol='t', symbolPen='g', symbolSize=1)
  
  # The top container/widget for the graphs
  class Window(QWidget):
      def __init__(self):
          super().__init__()
          self.initUI() # call the UI set up
  
      # set up the UI
      def initUI(self):
  
          self.layout = QVBoxLayout(self) # create the layout
          self.guiplot = pg.PlotWidget() # create an instance of plotwidget 1
          self.guiplot1 = pg.PlotWidget() # create an instance of plotwidget 2
          self.pgcustom = CustomPlot() # class abstract both the classes
          self.pgcustom1 = CustomPlot1() # "" "" ""
          self.layout.addWidget(self.guiplot) # add the first plot widget to the layout
          self.guiplot.addItem(self.pgcustom) # now add the plotItem to the plot widget 
          self.layout.addWidget(self.guiplot1) # add the second plot widget to the layout
  
  
          self.guiplot1.addItem(self.pgcustom1)  # now add the plotItem to the plot widget 
          self.show()
  
  if __name__ == '__main__':
      app = QApplication(sys.argv)
      window = Window()
      sys.exit(app.exec_())
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/vB0cp.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vB0cp.png" alt="enter image description here"></a></p>
  
  <p><a href="https://i.stack.imgur.com/nZf51.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/nZf51.png" alt="enter image description here"></a></p>
  
  <p>Should I class PlotWidget instead GraphicsObject?</p>