PyQtGraph: Fast Data Visualization and GUI Tools for Scientific Applications

Summary
PyQtGraph is a powerful, pure-Python graphics library tailored for scientific and engineering applications. It provides fast data visualization and GUI tools, leveraging NumPy for numerical processing, Qt's GraphicsView for 2D, and OpenGL for 3D displays. This makes it an excellent choice for high-performance data plotting and interactive interfaces.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
PyQtGraph is a pure-Python graphics library designed for PyQt5/PyQt6/PySide6, specifically catering to mathematics, scientific, and engineering applications. It provides fast data visualization and GUI tools.
Despite being entirely written in Python, it achieves high performance by heavily utilizing NumPy for number crunching, Qt's GraphicsView framework for 2D display, and OpenGL for 3D display.
Installation
Installing PyQtGraph is straightforward using pip or conda.
Using pip:
pip install pyqtgraph
Using conda:
conda install -c conda-forge pyqtgraph
Examples
To quickly grasp PyQtGraph's capabilities, exploring its comprehensive examples is highly recommended. You can launch the examples application directly from your Python environment.
python -m pyqtgraph.examples
Why Use PyQtGraph
PyQtGraph stands out for several reasons, making it a top choice for scientific and engineering visualization:
- High Performance: Built for speed, it leverages optimized libraries like NumPy, Qt's GraphicsView, and OpenGL for efficient rendering of large datasets.
- Scientific Focus: Tailored for complex data plotting, signal processing, and image display common in scientific research and engineering.
- Pure Python & Qt Integration: Offers a native Python experience with seamless integration into PyQt/PySide GUI applications.
- Extensible: Supports a wide array of optional third-party libraries such as SciPy, PyOpenGL, h5py, Matplotlib, CuPy, and Numba, extending its functionality for specialized tasks.
- Widely Adopted: Trusted and used by numerous projects and applications, including ACQ4, Orange3, and Joulescope, demonstrating its robustness and reliability.
Links
Explore PyQtGraph further through these official resources: