PyQtGraph: Fast Data Visualization and GUI Tools for Scientific Applications

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

Updated on January 20, 2026
View on GitHub

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: