SciencePlots: Matplotlib styles for scientific plotting
Science Plots
Matplotlib styles for scientific plotting
This repo has Matplotlib styles to format your plots for scientific papers, presentations and theses.
Installation
The easiest way to install SciencePlots is using
pip
:# for latest version pip install git+https://github.com/garrettj403/SciencePlots.git # for last release pip install SciencePlots
The pip installation will automatically move all of the
*.mplstyle
files into the appropriate directory. You can also do this manually, if you like. First, clone the repository and then copy all of the*.mplstyle
files into your Matplotlib style directory. If you’re not sure where this is, in an interactive python console type:import matplotlib print(matplotlib.get\_configdir())
You should get back something like
/home/garrett/.matplotlib
. You would then put the*.mplstyle
files in/home/garrett/.matplotlib/stylelib/
(you may need to create thestylelib
directory).Using the Styles
science.mplstyle
is the main style from this repo. Whenever you want to use it, simply add the following to the top of your python script:import matplotlib.pyplot as plt plt.style.use('science')
You can also combine multiple styles together by:
plt.style.use(\['science','ieee'\])
In this case, the
ieee
style will override some of the parameters from the mainscience
style in order to configure the plot for IEEE papers (column width, fontsizes, etc.).To use any of the styles temporarily, you can use:
with plt.style.context(\['science', 'ieee'\]): plt.figure() plt.plot(x, y) plt.show()
Examples
The
science
style (the base style):The
science
+grid
styles:The
science
+ieee
styles for IEEE papers:IEEE requires figures to be readable when printed in black and white. The
ieee
style also sets the figure width to fit within one column of an IEEE paper.The
science
+scatter
styles for scatter plots:The
science
+notebook
styles for Jupyter notebooks:You can also combine these styles with the other styles that come with Matplotlib. For example, the
dark_background
+science
+high-vis
styles:Note: See the
examples/
directory for more!Color Cycles
The
high-vis
color cycle:The
bright
color cycle:The
vibrant
color cycle:The
muted
color cycle:The
retro
color cycle:Note: The
bright
,vibrant
andmuted
color cycles are from Paul Tol’s website. They are color-blind safe!Contribution
Please feel free to add to this repo! For example, it would be good to add styles for different journals or perhaps new color cycles.
You can checkout Matplotlib’s documentation for more plotting options.
FAQ
Errors related to Latex:
- The default
science
style uses Latex font rendering. If you do not have Latex on your computer or if you think that Latex takes too long, you can disable Latex using theno-latex
style:plt.style.use(\['science','no-latex'\])
- For Windows users, you may need to manually add Latex to your environment path (see issue).