https://github.com/3mcloud/plotme
plot all the things in all the folders automatically but only if there have been changes
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.4%) to scientific vocabulary
Keywords
cli
csv
plotly
Last synced: 6 months ago
·
JSON representation
Repository
plot all the things in all the folders automatically but only if there have been changes
Basic Info
Statistics
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
- Releases: 0
Topics
cli
csv
plotly
Created over 3 years ago
· Last pushed 6 months ago
Metadata Files
Readme
Changelog
License
README.md
plotme
scatter plot all the things in all the folders automatically but only if there have been changes
Description
Plotme takes tabular data (e.g. excel) and outputs interactive scatter plots. It is a command line tool written in python. It uses json files to configure the plots. It is for technical and non-techncial folks.
Features
- specify data_root using argument or current directory
- save the plot's configuration/definition with the data (plot_info.json)
- finds plot_info files at any depth in the folder tree
- validation plot_info.json using jsonschema
- pass-through to plotly
- scatter plot
- mode (markers or lines)
- marker_symbols
- constant lines
- error bars
- axes kwargs
- pio.templates
- auto-detect data files (xls, xlsx, csv only)
- supported data files: xls, xlsx, csv, txt
- filter data files (include and exclude)
folder_include_filter,folder_exclude_filter, - filter folders (include and exclude)
file_include_filter,file_exclude_filter, - trace label from yid (when plot is single file) or file name (default) or folder name `tracelabel`
- remove common text from all trace labels
remove_from_trace_label - only re-generate plots if data or plot_info has changed, to force regeneration
plotme -f - pre-process
pre - post-process (max, min, avg)
post - x value time stamp in file name conversion to seconds using strptime format codes
x_time_format - extract x value from filename using regular expression
x_id_is_reg_exp
Install options
- download exe from releases (windows only)
- install using pipx from source (recommended if you want system wide availability)
pipx install git+https://github.com/3mcloud/plotme.git
- install to active python environment from source:
- SSH:
python -m pip install git+ssh://git@github.com/3mcloud/plotme.git - HTTPS:
python -m pip install https://github.com/3mcloud/plotme.git
- SSH:
How to use
- from command line: plotme(.exe) -h to see arguments
- from file explorer:
- move to data directory or above
- run once to generate a template of the plot_info.json
- modify the template as needed
- run again to generate plot(s)
Contribute
unimplemented ideas, in order of priority
- sign exe and add to releases
- create better tests
- Hierarchical plot_info based on folder structure
- yml support
- pkl data file support
- 3D plots
- plot_info linter
Develop
- clone
- Navigate into the folder or open the folder with your favorite python IDE
- create conda env
conda create -n plotme python=3.13 - activate env
conda activate plotme - install as -e package
python -m pip install -e .- Note the dot at the end, it's important
Build windows exe
- follow Develop instructions
choco install visualstudio2019buildtools(needed to compile orderedset)pip install nuitka orderedset zstandardpython -m nuitka plotme --onefile --standalone --include-package=plotly --include-package-data=plotly --nofollow-import-to=module_name=pytest --msvc=latest
Test
- follow Develop instructions
- Install packages to run automated tests
python -m pip install -e .[test] - run tests
Owner
- Name: 3M
- Login: 3mcloud
- Kind: organization
- Location: Maplewood, MN
- Website: https://www.3m.com
- Repositories: 11
- Profile: https://github.com/3mcloud
Science. Applied to life.
GitHub Events
Total
- Push event: 5
Last Year
- Push event: 5