ℹ️ Created in 2016 by Pierre Raybaut and maintained by the PlotPyStack organization.
ℹ️ plotpy is the new major release of guiqwt: same team 🏋️, same goal 🎯, same long-term support ⏳.
plotpy is is a Python library providing efficient 2D data-plotting features
for interactive computing and signal/image processing application development.
It is part of the PlotPyStack project, aiming at
providing a unified framework for creating scientific GUIs with Python and Qt.
plotpy is based on:
- Python language and Qt GUI toolkit (via PySide or PyQt)
- guidata automatic GUI generation library
- PythonQwt plotting widgets library
- NumPy and SciPy scientific computing libraries
Based on PythonQwt and on the scientific modules NumPy and SciPy, plotpy is a Python library providing efficient 2D data-plotting features (curve/image visualization and related tools) for interactive computing and signal/image processing application development.
See documentation for more details on the library and changelog for recent history of changes.
Copyrights and licensing:
- Copyright © 2023 CEA, Codra, Pierre Raybaut.
- Licensed under the terms of the BSD 3-Clause (see LICENSE).
The plotpy library also provides the following features:
-
Ready-to-use plot widgets and dialog boxes
-
pyplot: interactive plotting widgets, equivalent to
matplotlib.pyplot, at least for the implemented functions -
supported plot items: curve, image, histogram, label, shape, annotation, ...
-
interactive features:
-
multiple object selection for moving objects or editing their properties through automatically generated dialog boxes
-
item list panel: move objects from foreground to background, show/hide objects, remove objects, ...
-
customizable aspect ratio for images
-
tons of ready-to-use tools: plot canvas export to image file, image snapshot, interval selection, image rectangular filter, etc.
-
curve fitting tool with automatic fit, manual fit with sliders, ...
-
contrast adjustment panel for images: select the LUT by moving a range selection object on the image levels histogram, eliminate outliers, ...
-
X-axis and Y-axis cross-sections: support for multiple images, average cross-section tool on a rectangular area, ...
-
apply any affine transform to displayed images in real-time (rotation, magnification, translation, horizontal/vertical flip, ...)
-
-
application development helpers:
- ready-to-use plot widgets and dialog boxes
- load/save graphical objects (curves, images, shapes)
- a lot of test scripts which demonstrate
plotpyfeatures (see examples)
- Python 3.8+
- PyQt5 (Python Qt bindings)
- QtPy (abstraction layer for Python-Qt binding libraries)
- PythonQwt (Python wrapper for the Qwt C++ class library)
- guidata (Python library generating graphical user interfaces for easy dataset editing and display)
- setuptools (Python packages management)
- wheel (Python built-package format)
- build (Python package builder)
- numpy (Python package for scientific computing)
- Cython (Python package for writing C extensions for the Python language)
- C++ compiler (e.g. GCC, MSVC)
Using pip:
pip install plotpy
Using build:
python -m build
