pylustrator

pylustrator: code generation for reproducible figures for publication - Published in JOSS (2020)

https://github.com/rgerum/pylustrator

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Committers with academic emails
    1 of 9 committers (11.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

code-generation gui interactive matplotlib visualisation

Keywords from Contributors

mesh

Scientific Fields

Sociology Social Sciences - 87% confidence
Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Visualisations of data are at the core of every publication of scientific research results. They have to be as clear as possible to facilitate the communication of research. As data can have different formats and shapes, the visualisations often have to be adapted to reflect the data as well as possible. We developed Pylustrator, an interface to directly edit python generated matplotlib graphs to finalize them for publication. Therefore, subplots can be resized and dragged around by the mouse, text and annotations can be added. The changes can be saved to the initial plot file as python code.

Basic Info
  • Host: GitHub
  • Owner: rgerum
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 1.13 MB
Statistics
  • Stars: 878
  • Watchers: 16
  • Forks: 41
  • Open Issues: 18
  • Releases: 11
Topics
code-generation gui interactive matplotlib visualisation
Created over 7 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

docs/images/logo.png


DOC PyTest License DOI

Pylustrator is a software to prepare your figures for publication in a reproducible way. This means you receive a figure representing your data and alongside a generated code file that can exactly reproduce the figure as you put them in the publication, without the need to readjust things in external programs.

Pylustrator offers an interactive interface to find the best way to present your data in a figure for publication. Added formatting and styling can be saved by automatically generated code. To compose multiple figures to panels, pylustrator can compose different subfigures to a single figure.

Please also refer to the Documentation for more information.

Issues, Questions, and Suggestions

Please submit your questions, suggestions, and bug reports to the Issue Tracker

Contributing

You want to contribute? Great! Contributing works best if you creat a pull request with your changes.

  1. Fork the project.
  2. Create a branch for your feature: git checkout -b cool-new-feature
  3. Commit your changes: git commit -am 'My new feature'
  4. Push to the branch: git push origin cool-new-feature
  5. Submit a pull request!

If you are unfamilar with pull requests, you find more information on pull requests in the github help

Owner

  • Name: Richard Gerum
  • Login: rgerum
  • Kind: user
  • Company: York University

JOSS Publication

pylustrator: code generation for reproducible figures for publication
Published
July 20, 2020
Volume 5, Issue 51, Page 1989
Authors
Richard Gerum ORCID
Department of Physics, University of Erlangen-Nürnberg, Germany
Editor
Lorena A Barba ORCID
Tags
reproducibility code generation interactive matplotlib plotting drag style

Citation (CITATION.bib)

@article{Gerum2020,
  doi = {10.21105/joss.01989},
  url = {https://doi.org/10.21105/joss.01989},
  year = {2020},
  publisher = {The Open Journal},
  volume = {5},
  number = {51},
  pages = {1989},
  author = {Richard Gerum},
  title = {pylustrator: code generation for reproducible figures for publication},
  journal = {Journal of Open Source Software}
}

GitHub Events

Total
  • Issues event: 5
  • Watch event: 161
  • Delete event: 1
  • Issue comment event: 9
  • Push event: 8
  • Pull request event: 8
  • Fork event: 4
Last Year
  • Issues event: 5
  • Watch event: 161
  • Delete event: 1
  • Issue comment event: 9
  • Push event: 8
  • Pull request event: 8
  • Fork event: 4

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 497
  • Total Committers: 9
  • Avg Commits per committer: 55.222
  • Development Distribution Score (DDS): 0.505
Past Year
  • Commits: 9
  • Committers: 3
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
rgerum r****m@y****e 246
rgerum 1****m 235
JScheffer 5****r 6
Andy Shapiro a****o@i****m 3
Lorena A. Barba l****a@g****u 2
yao 5****7 2
rraadd88 r****e@g****m 1
dependabot[bot] 4****] 1
S J Palmer s****4@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 58
  • Total pull requests: 19
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 42
  • Total pull request authors: 8
  • Average comments per issue: 1.95
  • Average comments per pull request: 0.95
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 4
  • Pull requests: 6
  • Average time to close issues: 5 months
  • Average time to close pull requests: 11 days
  • Issue authors: 4
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.5
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • rgerum (13)
  • xihajun (3)
  • JoostScheffer (2)
  • fconil (2)
  • derketo (1)
  • ijpulidos (1)
  • DeepaMahm (1)
  • cycomanic (1)
  • trettelbach (1)
  • King-of-Infinite-Space (1)
  • shizkaz (1)
  • benoitrosa (1)
  • Atcold (1)
  • tfiers (1)
  • PedroLormendez (1)
Pull Request Authors
  • yao24247 (6)
  • JoostScheffer (5)
  • dependabot[bot] (2)
  • labarba (2)
  • sp94 (2)
  • marksmayo (1)
  • JacksonBurns (1)
  • rraadd88 (1)
Top Labels
Issue Labels
enhancement (2) bug (1)
Pull Request Labels
dependencies (2)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 130 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 4
    (may contain duplicates)
  • Total versions: 25
  • Total maintainers: 1
pypi.org: pylustrator

Adds interactivity to arrange panels in matplotlib.

  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 4
  • Downloads: 130 Last month
Rankings
Stargazers count: 2.4%
Forks count: 6.9%
Dependent repos count: 7.5%
Average: 8.4%
Dependent packages count: 10.1%
Downloads: 15.1%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: pylustrator
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 14.7%
Forks count: 28.5%
Average: 32.1%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 4 months ago

Dependencies

docs/requirements.autobuild.txt pypi
  • mock *
  • nbsphinx *
  • sphinx-autobuild *
  • sphinx_rtd_theme *
  • sphinxcontrib-bibtex *
docs/requirements.readthedocs.txt pypi
  • matplotlib *
  • nbsphinx *
  • pyside2 *
  • qtpy *
  • sphinxcontrib-bibtex *
setup.py pypi
  • matplotlib *
  • natsort *
  • numpy *
  • pyqt5 *
  • qtawesome *
  • qtpy *
  • scikit-image *
.github/workflows/publish.yml actions
  • JRubics/poetry-publish v1.13 composite
  • actions/checkout v3 composite
.github/workflows/pytest.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/requirements.txt pypi
  • PyQt5 *
  • coverage *
  • matplotlib *
  • natsort *
  • numpy *
  • pytest *
  • qtawesome *
  • qtpy *
  • scikit-image *
pyproject.toml pypi
  • PyQt5 >=5.6
  • matplotlib >=2.0.2
  • natsort >=2.0.0
  • numpy >=1.0.3
  • python ^3.8
  • qtawesome >=0.5.0
  • scikit-image >=0.7.0
poetry.lock pypi
  • colorama 0.4.6
  • contourpy 1.3.0
  • cycler 0.12.1
  • exceptiongroup 1.2.2
  • fonttools 4.55.0
  • imageio 2.36.0
  • importlib-resources 6.4.5
  • iniconfig 2.0.0
  • kiwisolver 1.4.7
  • lazy-loader 0.4
  • matplotlib 3.9.2
  • natsort 8.4.0
  • networkx 3.2.1
  • numpy 2.0.2
  • packaging 24.2
  • pillow 11.0.0
  • pluggy 1.5.0
  • pyparsing 3.2.0
  • pyqt5 5.15.11
  • pyqt5-qt5 5.15.15
  • pyqt5-sip 12.15.0
  • pytest 7.4.4
  • python-dateutil 2.9.0.post0
  • qtawesome 1.3.1
  • qtpy 2.4.2
  • scikit-image 0.24.0
  • scipy 1.13.1
  • six 1.16.0
  • tifffile 2024.8.30
  • tomli 2.1.0
  • zipp 3.21.0