PyQtGraph
Copyright 2023 PyQtGraph developers
http://www.pyqtgraph.org
PyQtGraph is intended for use in mathematics / scientific / engineering applications. Despite being written entirely in python, the library is fast due to its heavy leverage of numpy for number crunching, Qt's GraphicsView framework for 2D display, and OpenGL for 3D display.
Requirements
PyQtGraph has adopted NEP 29.
This project supports:
All minor versions of Python released 42 months prior to the project, and at minimum the two latest minor versions.
All minor versions of numpy released in the 24 months prior to the project, and at minimum the last three minor versions.
Qt5 5.15, and Qt6 6.2+
Currently this means:
Python 3.9+
Qt 5.15, 6.2+
PyQt5, PyQt6, PySide2, or PySide6
numpy 1.21+
Optional added functionalities
Through 3rd part libraries, additional functionality may be added to PyQtGraph, see the table below for a summary.
| Library | Added functionality |
|---|---|
| :--- | :--- |
| scipy | Image processing through ndimage Data array filtering through signal |
| pyopengl | 3D graphics Faster image processing Note: on macOS Big Sur only works with python 3.9.1+ |
| h5py | Export in hdf5 format |
| colorcet | Add a collection of perceptually uniform colormaps |
| matplotlib | Export of PlotItem in matplotlib figure Add matplotlib collection of colormaps |
| cupy | CUDA-enhanced image processing Note: On Windows, CUDA toolkit must be >= 11.1 |
| numba | Faster image processing |
| jupyter_rfb | Jupyter Notebook support |
Support
Report issues on the GitHub issue tracker
Post questions to
mailing list / forum
StackOverflow
GitHub Discussions
Python Discord
Installation Methods
From PyPI
Last released version: pip install pyqtgraph
Latest development version: pip install git+https://github.com/pyqtgraph/pyqtgraph@master
From conda
Last released version: conda install -c conda-forge pyqtgraph
To install system-wide from source distribution: python setup.py install
Many linux package repositories have release versions.
To use with a specific project, simply copy the PyQtGraph subdirectory anywhere that is importable from your project.
Documentation
The official documentation lives at pyqtgraph.readthedocs.io
The easiest way to learn PyQtGraph is to browse through the examples; run python -m pyqtgraph.examples to launch the examples application.
Used By
Here is a partial listing of some of the applications that make use of PyQtGraph!
ACQ4
Antenna Array Analysis
argos
Atomize
EnMAP-Box
EO Time Series Viewer
ephyviewer
Exo-Striker
GraPhysio
HussariX
Joulescope
MaD GUI
neurotic
Orange3
PatchView
pyplotter
PyMeasure
PySpectra
rapidtide
Semi-Supervised Semantic Annotator
STDF-Viewer
Do you use PyQtGraph in your own project, and want to add it to the list? Submit a pull request to update this listing!