◐ Shell
clean mode source ↗

Python Pyqtgraph Plot Tutorial

Create a plot with PyQtgraph

A simple plot can be created with the module pyqtgraph. Mind you, it’s one of the libraries for plotting, there are others like matplotlib.

We start with importing pyqtgraph and defing the plotting data (x and y). Then we plot the data using pg.plot().

pyqtgraph plot

Related course:
Create PyQt Desktop Appications with Python (GUI)

pyqtgraph plot

The example below creates a plot using pyqtgraph.

import pyqtgraph as pg
import pyqtgraph.exporters
import numpy as np


theTitle = "pyqtgraph plot"
y = [2,4,6,8,10,12,14,16,18,20]
x = range(0,10)


plt = pg.plot(x, y, title=theTitle, pen='r')
plt.showGrid(x=True,y=True)


if __name__ == '__main__':
import sys
if sys.flags.interactive != 1 or not hasattr(pg.QtCore, 'PYQT_VERSION'):
pg.QtGui.QApplication.exec_()

We can set additional properties of the chart like the labels, add a legend, the colors.
The output will look like this:
pyqtgraph plot legend

In code its like this:

import pyqtgraph as pg
import pyqtgraph.exporters
import numpy as np


theTitle = "pyqtgraph plot"
y = [2,4,6,8,10,12,14,16,18,20]
y2 = [0,1,2,4,12,14,16,17,14,22]
x = range(0,10)


plt = pg.plot()
plt.showGrid(x=True,y=True)
plt.addLegend()


plt.setLabel('left', 'Value', units='V')
plt.setLabel('bottom', 'Time', units='s')
plt.setXRange(0,10)
plt.setYRange(0,20)
plt.setWindowTitle('pyqtgraph plot')


c1 = plt.plot(x, y, pen='b', symbol='x', symbolPen='b', symbolBrush=0.2, name='red')
c2 = plt.plot(x, y2, pen='r', symbol='o', symbolPen='r', symbolBrush=0.2, name='blue')


if __name__ == '__main__':
import sys
if sys.flags.interactive != 1 or not hasattr(pg.QtCore, 'PYQT_VERSION'):
pg.QtGui.QApplication.exec_()

Download PyQt Examples