Skip to main content

plottr: modular data plotting and processing

PyPi version PyPI python versions Docs Build on GitHub actions

A framework for inspecting data, based on flowcharts from pyqtgraph. plottr's main aim is to allow the user to define custom data processing flows and plotting. A particular use case is data filtering and plotting.

Documentation:

https://plottr.readthedocs.io (work in progress...)

Quickstart

Installation

Plottr is installable from pypi with pip install plottr

Qt bindings

Plottr is a Qt application. At runtime it talks to Qt through qtpy, so it works with any of the supported Qt bindings, but you must install one yourself -- none is pulled in automatically. Pick exactly one of:

Binding pip extra Notes
PySide6 pip install plottr[pyside6] Recommended (and what testing/type-checking use by default)
PyQt5 pip install plottr[pyqt5]
PyQt6 pip install plottr[pyqt6]
PySide2 pip install plottr[pyside2] Older Qt5 binding

For example, the recommended install is:

pip install plottr[pyside6]

If you have more than one binding installed, select which one plottr (via qtpy) should use by setting the QT_API environment variable before starting, e.g. QT_API=pyside6 (other valid values: pyqt5, pyqt6, pyside2).

If you installed pyqt from (Ana)Conda you should not use any of the pip extras above; instead do pip install plottr (Qt comes from conda) or install plottr from conda-forge:

conda config --add channels conda-forge
conda config --set channel_priority strict
conda install plottr

To install from source: clone the repo, and install using pip install -e .[pyside6] (or another binding extra of your choice).

inspectr: QCoDeS dataset inspection and (live) plotting

You can use the inspectr tool to get a simple overview over QCoDeS database files, and plot datasets contained in the database.

To use: run plottr-inspectr [--dbpath <path to your .db file>]

As an alternative from the root of the cloned plottr repository, run python apps/inspectr.py [--dbpath <path to your .db file>]

For basic instructions, check out the Notebook Live plotting qcodes data under /doc/examples.

Some notes on installing

Note: this package is not compatible with the original plottr tool. You might want to install freshly if you still use the old version.

Requirements:

  • python >= 3.12
  • the usual: numpy, mpl, ...
  • pandas >= 0.22
  • xarray
  • pyqtgraph >= 0.12.1
  • one Qt binding (PySide6 recommended; see Installation)

Recent changes:

See the plottr GitHub Releases page for versions and their changelogs

v0.10.0 2022-07-14

Added

v0.9.1 2022-01-12

Added

  • Fixed a crash bug with python 3.10 (#257)

v0.9.0 2021-12-20

Added

Fixed

v0.8.1 2021-11-30

Added

  • Test with python 3.10 and mark as supported (#238)

Fixed

  • add missing init file to config dir (#236)
  • Use a regular install in tests (#237)

v0.8.0 2021-11-11

Added

  • Inspectr: tag a run with a star (⭐) or cross (❌) icon, filter by those, also show dataset metadata next to parameters and snapshot (#229)
  • Improvements to monitr: more stability in adding data to ddh5, better performance by making data loading multithreaded and running reach plot window in a separate process (#219)
  • Added pyqtgraph backend for plotting that can be used instead of matplotlib (Example for how to select can be found in test/apps/autoplot_app.py) (#215, #218)

Fixed

  • Fix/invaliddata: small fixes when data contains a lot of invalid entries (#226)
  • Fix in shape recognition when adding data (#220)

Behind the scenes

  • Add minimal versions to dependencies (#201)
  • Make the .gitignore proper (#73)
  • add dependabot (#208)
  • Fix typechecking with mypy 0.9xx (#207)
  • clarify install instructions wrt qt and mention conda forge (#202)

2021-06-08

Added

  • refactoring the plotting system (#166)
  • Add version log message to main __init__ (#175)

Fixed

  • Fix crop if less than one row is not nan (#198)
  • Fix rgba error (#199)
  • Allow empty dataset if datadict is none (#195)

Behind the scenes

  • Modernize setup files (#194)
  • packaging cleanups (#177)
  • upgrade versioneer to 0.19 (#176)

2021-02-16

Added

  • Add copy content features to inspectr and autoplot windows, specifically
    • a new Copy pop up menu for copying content of cells in inspectr
    • a new Copy metadata button in plot window for copying info about the dataset to clipboard

Fixed

  • remove redundant information between the optional "info" box on the plot and the plot title

2021-02-08

  • Drop support for Python 3.6 and support type-checking with qcodes 0.21.0
  • Fix type-checking with numpy 1.20

Fixed

  • Fixed y-axis to not show axis-label if more than one plot is selected in 1D single-plot show.

2020-08-21

  • Workaround for bug with pyqt installed via conda that would result in blank icons.
  • Add experimental support for using Pyside2 as an alternative to PyQt5

2020-08-06

Added

  • Entry points for inspectr (plottr-inspectr) and autoplot (plottr-autoplot-ddh5)
  • LICENSE file has been added (no change to license of the code)
  • setup.py has been tweeked to ensure that sdist and bdist_wheel packages are generated correctly

2020-06-05

Added

  • Usable version of hdf5 file support. can use the apps/monitr.py script to launch a tool that allows easy (live) plotting.

2020-04-24

Fixed

  • there were several issues/annoyances that caused (minor) issues with grid handling and plotting in rare-ish circumstances. Most of them should be fixed now.

Added

  • A few docs and examples, mostly about grid usage.

2020-04-17

Changed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plottr-0.18.1.tar.gz (391.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plottr-0.18.1-py3-none-any.whl (421.3 kB view details)

Uploaded Python 3

File details

Details for the file plottr-0.18.1.tar.gz.

File metadata

  • Download URL: plottr-0.18.1.tar.gz
  • Upload date:
  • Size: 391.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.14

File hashes

Hashes for plottr-0.18.1.tar.gz
Algorithm Hash digest
SHA256 eac18f72305333c6ac841980b09476ec74e8e87b67efe1b9ea58f993eed3f63d
MD5 d8b1c8231bbc74681d72ac1801b00b3a
BLAKE2b-256 43be9f5daf419596e84b8473beecc7c85e07154df4d25a5752d1a1b5606ef0c9

See more details on using hashes here.

File details

Details for the file plottr-0.18.1-py3-none-any.whl.

File metadata

  • Download URL: plottr-0.18.1-py3-none-any.whl
  • Upload date:
  • Size: 421.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.14

File hashes

Hashes for plottr-0.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f2174f01a5c9619d7b903f6d95e728abe5cd077a46ee8f4d0dd39441535ba34
MD5 7cc9a28c6a3fc3bb02da75260a67546a
BLAKE2b-256 3c69d9a65d9a8c030b3eef38746ff780b36bf2df56ce8e5a1d2098ad237b0df6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.18.1 This release

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page