Giter Club home page Giter Club logo

plottr_clone's Introduction

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

Plottr requires either the PyQt5 or Pyside2 gui framework. To install with PyQt5 or Pyside2 backend you can do pip install plottr[PyQt5] or pip install plottr[Pyside2]

Note that if you have installed pyqt from (Ana)Conda you should not use any of these targets but do pip install plottr 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 .

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.7 (f-strings...)
  • the usual: numpy, mpl, ...
  • pandas >= 0.22
  • xarray
  • pyqtgraph >= 0.10.0

Recent changes:

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

plottr_clone's People

Contributors

wpfff avatar jenshnielsen avatar astafan8 avatar akshita07 avatar farbo avatar rkaufman058 avatar thorvaldlarsen avatar williamhpnielsen avatar liangosc avatar gijsdelange avatar lakhotiaharshit avatar sohailc avatar gitjaap avatar stefand986 avatar

plottr_clone's Issues

Filepath length and registry settings

This version of plottr will tend to make VERY long filepaths. It turns out that Windows will only allow 260 character filenames, and so the user will run into the issue of very long filepaths not being readable from their python scripts. This will show as a raised ValueError exception - "ValueError: Specified file does not exist."

Now most of the time, this is because of a typo in your filename, forgotten backslash, etc. However if the filename is very long and you have triple-checked it, this might be the issue.

The long-term fix would be to avoid using longer filenames, and develop a mechanism for saving metadata in the plottr file itself rather than using the filename.

The short-term bandaid solution is to change a windows registry setting that allows the use of longer filenames. That is documented here.

The short version, in case that page goes down, is to edit the following key:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled

to have the value 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.