17e90af36c
Basically, profiling has pointed me to the fact that a fair bit of code time is spent in `setShadowPen()` (actually, it's in `mkPen()`, which `setShadowPen()` calls), even when no shadow pen is specified. In my application, I'm calling `pyqtgraph.PlotDataItem.setdata()`, which calls through PlotDataItem->setData, PlotDataItem->updateItems. At some point in the call stack, the default value for `shadowPen` is being inserted into the kwargs, which then causes the specious calling of setShadowPen. Anyways, if we check if shadowPen is a value other then none, this doesn't happen. |
||
---|---|---|
doc | ||
examples | ||
pyqtgraph | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
azure-pipelines.yml | ||
azure-test-template.yml | ||
CHANGELOG | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
MANIFEST.in | ||
pytest.ini | ||
README.md | ||
setup.py | ||
test.py | ||
tox.ini |
PyQtGraph
A pure-Python graphics library for PyQt/PySide/PyQt5/PySide2
Copyright 2019 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
- PyQt 4.8+, PySide, PyQt5, or PySide2
- python 2.7, or 3.x
- Required
numpy
,scipy
- Optional
pyopengl
for 3D graphicspyqtgraph.opengl
will be depreciated in a future version and replaced withVisPy
hdf5
for large hdf5 binary format support
- Known to run on Windows, Linux, and macOS.
Qt Bindings Test Matrix
Below is a table of the configurations we test and have confidence pyqtgraph will work with. All current operating major operating systems (Windows, macOS, Linux) are tested against this configuration. We recommend using the Qt 5.12 or 5.9 (either PyQt5 or PySide2) bindings.
Python Version | PyQt4 | PySide | PyQt5-5.6 | PySide2-5.6 | PyQt5-5.9 | PySide2-5.9 | PyQt5-5.12 | PySide2 5.12 |
---|---|---|---|---|---|---|---|---|
2.7 | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ |
3.5 | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
3.6 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
3.7 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
- pyqtgraph has had some incompatabilities with PySide2-5.6, and we recommend you avoid those bindings if possible.
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@develop
- Last released version:
- From conda
- Last released version:
conda install 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.
- For installation packages, see the website (pyqtgraph.org)
Documentation
The easiest way to learn pyqtgraph is to browse through the examples; run python -m pyqtgraph.examples
for a menu.
The official documentation lives at http://pyqtgraph.org/documentation