Go to file
Connor Wolf 17e90af36c Avoid constructing shadow pens when no shadow pen is set
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.
2019-06-24 14:01:17 -07:00
doc Update the installation document 2018-10-08 10:59:05 +08:00
examples Replaced usage of deprecated ROI classes in example (#946) 2019-06-21 21:19:02 -07:00
pyqtgraph Avoid constructing shadow pens when no shadow pen is set 2019-06-24 14:01:17 -07:00
tools Update version string to 0.11.0.dev0 and handling in setup 2018-05-30 08:53:32 -07:00
.coveragerc MNT: hard code the coverage report location 2015-08-01 11:54:15 -04:00
.gitignore TST: Attempt 1 at breaking out ViewBox tests 2015-07-31 11:08:14 -04:00
.mailmap cleaner mailamp 2013-09-12 12:36:02 +08:00
.travis.yml Added pytest-faulthandler to Travis (#945) 2019-06-21 16:52:11 -07:00
azure-pipelines.yml Implement azure ci (#865) 2019-05-22 15:24:21 -07:00
azure-test-template.yml Add mesa drivers to windows CI images and show openGL info during debug stage (#954) 2019-06-23 23:03:51 -07:00
CHANGELOG Add changelog entry and credit for previous PR 2018-11-09 07:18:36 -08:00
CONTRIBUTING.md README and CONTRIBUTING update 2019-06-10 22:39:38 -07:00
LICENSE.txt - Major reorganization; we now follow the standard python package structure. 2012-12-26 17:51:52 -05:00
MANIFEST.in manifest corrections 2014-12-24 11:05:05 -05:00
pytest.ini Add mesa drivers to windows CI images and show openGL info during debug stage (#954) 2019-06-23 23:03:51 -07:00
README.md README and CONTRIBUTING update 2019-06-10 22:39:38 -07:00
setup.py fix optics demo on python3 2016-10-18 08:47:38 -07:00
test.py We support pyside2 don't we? 2019-05-30 14:40:39 -07:00
tox.ini Call pytest directly, ignore specific warnings, fix azure template labeling 2019-06-08 21:22:07 -07:00

Build Status

PyQtGraph

A pure-Python graphics library for PyQt/PySide/PyQt5/PySide2

Copyright 2019 Luke Campagnola, University of North Carolina at Chapel Hill

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

  • PyQt 4.8+, PySide, PyQt5, or PySide2
  • python 2.7, or 3.x
  • Required
    • numpy, scipy
  • Optional
    • pyopengl for 3D graphics
      • pyqtgraph.opengl will be depreciated in a future version and replaced with VisPy
    • 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

Installation Methods

  • From PyPI:
    • Last released version: pip install pyqtgraph
    • Latest development version: pip install git+https://github.com/pyqtgraph/pyqtgraph@develop
  • From conda
    • Last released version: conda install 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.
  • 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