Format Matplotlib Plots for thesis, scientific papers and reports.
Project description
LovelyPlots
LovelyPlots is a repository containing matplotlib
style sheets to nicely format figures for scientific papers, thesis and presentations while keeping them fully editable in Adobe Illustrator
. Additonaly, .svg
exports options allows figures to automatically adapt their font to your document's font. For example, .svg
figures imported in a .tex
file will automatically be generated with the text font used in your .tex
file.
Installation
# to install latest PyPI release
pip install LovelyPlots
# to install latest GitHub commit
pip install git+https://github.com/killiansheriff/LovelyPlots
The pip installation will move all of the matplotlib
style files *.mplstyle
into the appropriate matplotlib
directory.
Usage
LovelyPlots main style is called ipynb
. To use it, add the following lines to the begining of your python scripts:
import matplotlib.pyplot as plt
plt.style.use('ipynb')
Styles can be combined:
import matplotlib.pyplot as plt
plt.style.use(['ipynb','colorsblind34'])
In the above case, the ipynb
default color cycle will be overwritten by a 34 colors colorblind safe color cycle called colorsblind34
.
If you only wish to apply a style on a specific plot, this can be achieved using:
import matplotlib.pyplot as plt
with plt.style.context('ipynb'):
fig, ax = plt.subplots()
ax.plot(x, y)
Examples
A few styles are presented here, please see Styles for a list of all implemented styles.
The ['ipynb', 'use_mathtext']
style:
The ['ipynb', 'use_mathtext','colors10-markers']
style:
The ['ipynb', 'use_mathtext','colors5-light']
style:
The ['ipynb', 'use_mathtext', 'colors10-ls']
style:
Styles
LovelyPlots main style is called ipynb
. The latter by default sets the figure size to (4.5, 3.46) inches
, uses the default matplotlib
font, activate scientific notation and makes sure your matplotlib
exports will be editable in Adobe Illustrator
. Its default color cycle was set to colors10
.
Color cycles
A multitude of color cycles were implemented:
colors5-light
colors5
colors10
colorsblind10
colorsblind34
Can be seen here.
Lines styles, markers and combinations styles
Line styles, markers styles and combinations can be set using the following styles: ls5
, marker7
, colors10-ls
, colors10-markers
.
Utils
Specific matplotlibrc
parameters can be turned on/off
using the following utilities styles: svg_no_fonttype
, use_mathtex
, use_tex
.
Fonts
By default the ipynb
style uses the default matplotlib
font. However, one can set its favorite font from a TIFF file:
import matplotlib.pyplot as plt
import LovelyPlots.utils as lp
plt.style.use('ipynb')
lp.set_font('my_font.tiff')
Tips and Tricks
Adobe illustrator
Unfornunatly, mathtext
(and thus nicely formated scientific notation) will mess up Adobe illustrator
ability to detect text objects, and is thus not activate by default. If you wish to use it, please add the style use_mathtext
.
Latex and SVG files
By default, the ipynb
style sets svg.fonttype: none
. This allows for plots saved as .svg
not to carry font information. Consequently, when opened in another environement, the plot will be generated with the default system font!
For example, this allows .svg
plots imported inside a Latex
file to directly be generated with the proper document font, without you having to manually edit the fonts to match your document's font. Additonally, you can open the .svg
file as text file, find the ugly 1e10
scientific notation and replace it with $10^10$
so that it is nicely formated when included in your .tex
file.
An example on how to show an svg in a .tex
file:
\usepackage{svg}
\begin{figure}[htbp]
\centering
\includesvg{myfig.svg}
\end{figure}
Retina displays
For those using IPython
notebooks, you can set restina display support by adding the following lines to the begining on your python script:
import LovelyPlots.utils as lp
lp.use_retina()
Useth of Google Colab
You will need to run the following code:
!pip install LovelyPlots
plt.style.reload_library()
plt.style.use('ipynb')
Aknoledgements
This reprository was inspired by SciencePlots, but adds different styles and crucial functionalities for useth in .tex
files and Adobe Illustrator
.
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 LovelyPlots-0.0.16.tar.gz
.
File metadata
- Download URL: LovelyPlots-0.0.16.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b1cdeb0226a8076a30a31f69332206e0dbb9357b74ed8c9c464b81a882f0825 |
|
MD5 | 275ef6d570caa29483eeef9b37fd0dca |
|
BLAKE2b-256 | 4dd3f3da403d13178ef9c42f13962c3cf16cb09b1b3435ed7a0d7042d72ce31a |
File details
Details for the file LovelyPlots-0.0.16-py2.py3-none-any.whl
.
File metadata
- Download URL: LovelyPlots-0.0.16-py2.py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a85f74c245c6e8490c45fd5c5561d49351ea7d86a5636f7ee029f50f705b808 |
|
MD5 | 2917eb88977b258f9b080056a866120a |
|
BLAKE2b-256 | bd97c81269c289d7de09627833fd607a3010f462cdb1a865015bb14a203c5388 |