What is the easiest way to achieve realtime plotting in pyqtgraph

dan_0 picture dan_0 · Aug 6, 2013 · Viewed 21.3k times · Source

I do not get how to achieve realtime plotting in pyqtgraph. The realisation of that is not implemented in the documentation yet.

Could anyone please provide an easy example ?

Answer

Luke picture Luke · Aug 6, 2013

Pyqtgraph only enables realtime plotting by being quick to draw new plot data. How to achieve realtime plotting is highly dependent on the details and control flow in your application.

The most common ways are:

  1. Plot data within a loop that makes calls to QApplication.processEvents().

    pw = pg.plot()
    while True:
        ...
        pw.plot(x, y, clear=True)
        pg.QtGui.QApplication.processEvents()
    
  2. Use a QTimer to make repeated calls to a function that updates the plot.

    pw = pg.plot()
    timer = pg.QtCore.QTimer()
    def update():
        pw.plot(x, y, clear=True)
    timer.timeout.connect(update)
    timer.start(16)