Wrapper for matplotlib to generate pretty plots.
Project description
Docs • Features • Installation • Gallery
prettypyplot
The documentation including an gallery can be found here.
This is a wrapper package for matplotlib to achieve more easily pretty figures. If you are looking for something complete, this project is nothing for you but maybe seaborn. The main aspect of this project is to help me syncing my rcParams files and to stop copy-pasting so much code.
The aim of this project is to simplify the generation of some simple pre-defined figures. Almost all code is inspired or taken from the matplotlib gallery. If you are a power user or interested in generating complex figures, this packages is not ment for you and you should better take a look in the matplotlib gallery directly.
This project is in an alpha stage, hence it is neither stable nor ready for production.
CAUTION: Starting from version 1.0.0 (which is far in the future) API-breaking changes will be made only in major releases. Until then, it can be changed in every minor release (see changelog).
Features
The most notable features are:
- Tested with matplotlib
3.2
-3.8
- figsize specifies size of canvas. So labels, ticks or colorbars are not counted.
- Nice top-aligned outter legends
- New colors
Usage
This package uses an syntax very close to matplotlib. Hence, it should be straight forward to use it. Instead of calling a function on the axes itself, one needs to pass here the axes as an argument (args or kwargs).
Installation
python3 -m pip install --upgrade prettypyplot
or
conda install -c conda-forge prettypyplot
or for the latest dev version
python3 -m pip install git+https://github.com/braniii/prettypyplot.git
Usage
import matplotlib.pyplot as plt
import prettypyplot as pplt
pplt.use_style()
fig, ax = plt.subplots()
...
pplt.plot(ax=ax, x, y)
pplt.savefig(output)
Known Bugs
plt.subplots_adjust()
does not work withpplt.savefig(use_canvas_size=True)
If you find one, please open an issue.pplt.savefig(use_canvas_size=True)
is not compatible with a grid of subplots
Known Workarounds
The method pyplot.subplots_adjust()
is not compatible with the option
use_canvas_size
in prettypyplot.plot.savefig
,
use instead:
# this doesn't work, use instead gridspec
fig.subplots_adjust(hspace=0)
# use this instead
fig, axs = plt.subplots(..., gridspec_kw={'hspace': 0.000})
Comparison to matplotlib
matplotlib.pyplot.plot |
prettypyplot.plot |
matplotlib.pyplot.legend |
prettypyplot.legend |
matplotlib.pyplot.imshow |
prettypyplot.imshow |
matplotlib.pyplot.colorbar |
prettypyplot.colorbar |
Roadmap:
The following list is sorted from near future to hopefully ever.
- add pytest
- add search functionality in doc
- refactoring code to improve readabilty
- add package to conda_forge
- add gallery page
- improve
plt.suplots()
behaviour together withpplt.savefig()
- add more colorpalettes
- add countour line plot
- add axes_grid examples
- setup widths and scaling factors for beamer and poster mode
- tweak all function to enable
STYLE='minimal'
- implement tufte style
Building Documentation:
The doc is based on mkdocs and can be created by
# installing all dependencies
python -m pip install -e .[docs]
# serve interactively
python -m mkdocs serve
Similar Projects
Citing Prettypyplot
If you want to cite prettypyplot in scientific work please use:
Prettypyplot: publication ready matplotlib figures made simple D. Nagel, 2022. Zenodo: 10.5281/zenodo.7278312
Credits:
In alphabetical order:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file prettypyplot-0.11.0.tar.gz
.
File metadata
- Download URL: prettypyplot-0.11.0.tar.gz
- Upload date:
- Size: 43.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54886789899ea9f6eb4d7427fc68042f80bf9679711e9b037c95ea424271e304 |
|
MD5 | afa11ce42baf1b3e57357b7b9e31baa3 |
|
BLAKE2b-256 | 49d32f527506b11058938535e00cdf31a8a9190ccafad88834d566b0f0a4c75d |
File details
Details for the file prettypyplot-0.11.0-py3-none-any.whl
.
File metadata
- Download URL: prettypyplot-0.11.0-py3-none-any.whl
- Upload date:
- Size: 39.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c14829226b472ea799434a80c65f148536463c065450a0835c990006aa96f5bc |
|
MD5 | a4f6b92309c9cee27ed474cdabe1cf1b |
|
BLAKE2b-256 | 9d6af8f6e6204a1d682d479f967ba42ebc8a3635b5e9a4ef10c79f25595ad888 |