e7ceebd867
* LegendItem: fix spelling mistake * LegendItem: remove unused curRow variable * LegendItem: correct calculation of rowCount Previously, rowCount would never be updated unless setColumnCount() was called. This fixes that issue. It also fixes that setColumnCount() rounded down (floored) the number of rows, instead of providing an accurate number: e.g. 4 items in 3 columns would yield rowCount=1, when it should be 2 * LegendItem: remove rowCount argument (not implemented) Logic to actually use the rowCount argument was not implemented. Users might expect rowCount to limit the number of rows to e.g. 1, but that is not what the current code does (it only works with limiting the number of columns). Thus, we were exposing an unused/misleading parameter to users. This can and should be reverted if the logic for limiting the number of rows is added. * LegendItem: add colCount docs * test (LegendItem): remove unused curRow variable * test (LegendItem): check increasing rowCount as add items * Fixed logic in placement of items in legend with multiple columns * Actual row count here should be 2, not 3 Co-authored-by: Ogi Moore <ognyan.moore@gmail.com> |
||
---|---|---|
.github | ||
benchmarks | ||
doc | ||
examples | ||
pyqtgraph | ||
tools | ||
.coveragerc | ||
.flake8 | ||
.gitignore | ||
.pre-commit-config.yaml | ||
.readthedocs.yml | ||
asv.conf.json | ||
CHANGELOG | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
MANIFEST.in | ||
pytest.ini | ||
README.md | ||
setup.py | ||
test.py | ||
tox.ini |
PyQtGraph
A pure-Python graphics library for PyQt5/PyQt6/PySide2/PySide6
Copyright 2020 Luke Campagnola, University of North Carolina at Chapel Hill
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.
- All minor versions of Qt 5 and Qt 6 currently supported by upstream Qt
Currently this means:
- Python 3.7+
- Qt 5.12-6.0
- Required
- PyQt5, PyQt6, PySide2 or PySide6
numpy
1.17+
- Optional
scipy
for image processingpyopengl
for 3D graphicspyopengl
on macOS Big Sur only works with python 3.9.1+
hdf5
for large hdf5 binary format supportcolorcet
for supplemental colormapscupy
for CUDA-enhanced image processing- On Windows, CUDA toolkit must be >= 11.1
Qt Bindings Test Matrix
The following table represents the python environments we test in our CI system. Our CI system uses Ubuntu 20.04, Windows Server 2019, and macOS 10.15 base images.
Qt-Bindings | Python 3.7 | Python 3.8 | Python 3.9 |
---|---|---|---|
PySide2-5.12 | ✅ | ❌ | ❌ |
PyQt5-5.12 | ✅ | ❌ | ❌ |
PySide2-5.15 | ❌ | ✅ | ❌ |
PyQt5-5.15 | ❌ | ✅ | ❌ |
PySide6-6.0 | ❌ | ❌ | ✅ |
PyQt6-6.0 | ❌ | ❌ | ✅ |
Support
- Report issues on the GitHub issue tracker
- Post questions to the mailing list / forum or StackOverflow
Installation Methods
- From PyPI:
- Last released version:
pip install pyqtgraph
- Latest development version:
pip install git+https://github.com/pyqtgraph/pyqtgraph@master
- Last released version:
- From conda
- Last released version:
conda install -c conda-forge pyqtgraph
- Last released version:
- 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.