SciencePlots

by garrettj403

garrettj403 / SciencePlots

Matplotlib styles for scientific plotting

1.7K Stars 263 Forks Last release: 12 days ago (1.0.6) MIT License 84 Commits 3 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Science Plots

PyPI version DOI

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 commit
pip install git+https://github.com/garrettj403/SciencePlots.git

for lastest release

pip install SciencePlots

The pip installation will automatically move all of the

*.mplstyle
files into the appropriate directory. Please see the FAQ for more information and troubleshooting.

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
science
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

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 Blind Safe Color Cycles

The

bright
color cycle (7 colors):

The

vibrant
color cycle (7 colors):

The

muted
color cycle (10 colors):

The

high-contrast
color cycle (3 colors):

The

light
color cycle (9 colors):

Note: These color cycles are from Paul Tol's website.

Other Color Cycles

The

high-vis
color cycle:

The

retro
color cycle:

Help and Contributing

Please feel free to contribute to the SciencePlots repo! For example, it would be good to add new styles for different journals and add new color cycles. Before starting a new style or making any changes, please create an issue through the GitHub issue tracker. That way we can discuss if the changes are necessary and the best approach.

If you need any help with SciencePlots, please first check the FAQ and search through the previous GitHub issues. If you can't find an answer, create a new issue through the GitHub issue tracker.

You can checkout Matplotlib's documentation for more information on plotting settings.

FAQ

  1. Errors related to Latex:
  • If you get an error saying

    RuntimeError: Failed to process string with tex because latex could not be found
    , this means that you do not have Latex installed on your computer (or at least that Python/Matplotlib can't find it). You have two options: (1) install Latex, or (2) disable Latex using the
    no-latex
    option:
      plt.style.use(['science','no-latex'])
    
  • For Windows users, you may need to manually add Latex to your environment path (see issue).

  1. Manual installation:
  • If you like, you can install the

    *.mplstyle
    files manually. 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 the
stylelib
directory).
  1. Installing SciencePlots within Google Colab, IPython, Jupyter Notebooks, etc.:
  • After installing SciencePlots within one of these environments, you may need to reload the Matplotlib style library. For example:

      !pip install SciencePlots
      import matplotlib.pyplot as plt
      plt.style.reload_library()
      plt.style.use('science')
    

SciencePlots in Academic Papers

The following papers use

SciencePlots
:

If you use

SciencePlots
in your paper/thesis, feel free to add it to the list!

Citing SciencePlots

You don't have to cite SciencePlots if you use it, but it's nice if you do:

@article{SciencePlots,
  author       = {J. D. Garrett},
  title        = {{SciencePlots (v1.0.6)}},
  month        = oct,
  year         = 2020,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.4106650},
  url          = {http://doi.org/10.5281/zenodo.4106650}
}

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.