Skip to main content

Stoner Plots

Not platform specific MIT Licensed Build Docs pytest Codacy Badge Conda GitHub version GitHub Release Date PyPI version Conda Version DOI

Stoner Plots is a fork of Science Plots with additional features to make plotting of scientific plots easier.

Presentation Style Image

Usage

Before using the new styles you need to import stonerplots - but you will most likely also want to make use of one of the context managers - the SavedFigure class.

from stonerplots import SavedFigure

with SavedFigure("my_figure.pdf", style=["stoner","aps"]):
    plt.figure()
    plt.plot(x,y,label="Dataset")
    ...

There are three main parts to this package:

  1. A set of matplotlib style sheets for making plots with styles suitable for a variety of Physics related journals and formats such as presentations and posters as well as reports and theses.

  2. A set of Python Context managers designed to help with the process of preparing production quality figures in matplotlib.

  3. Some definitions of colours based on the Transport for London colour palette and inserted as named colours into the matplotlib colour tables.

The package is fully documented (see link below) and comes with a set of examples that also serve as unit tests.

Documentation

Documentation can be found on the github pages for this repository.

Available Styles

Core Styles

  • stoner - this is the base style sheet
  • poster - makes everything bigger for printing on a poster
  • notebook - makes things a little bigger for a Jupyter notebook - from the original scienceplots package
  • presentation - a style suitable for the main graph on a powerpoint slide
  • thesis - a style that tries to look like the CM Physics group LaTeX thesis template

Journal Styles

  • nature - for Nature group journals - from the original scienceplots package
  • aaas-science - Science single column style.
  • ieee - for IEEE Transactions journals - from the original scienceplots package
  • aps - for American Physical Society Journals (like Phys Rev Lett etc.)
  • aip - for AIP journals such as Applied Physics Letters - labels in Serif Fonts
  • iop - for Institute of Physics Journals.

Modifiers

  • aps1.5 - Switch to 1.5 column wide format
  • aps2.0 - Switch to 2 column wide format
  • aip2 - Switch to 2 column wide format for AIP journals
  • stoner-dark - Switch to a dark background a lighter plotting colours.
  • hi-res - Switches to 600dpi plotting (but using eps, pdf or svg is generally a better option)
  • med-res - like hi-res, but switches to 300dpi plotting.
  • presentation_sm - a style for making 1/2 width graphs.
  • presentation_dark - tweak the weight of elements for dark presentations.
  • science-2col, science-3col - Science 2 and 3 column width figures
  • thesis-sm - reduces the figure width to make the axes closer to 4/3 aspect ratio.

Context Managers

The package is designed to work by using python context managers to aid plotting. These include:

  • SavedFigure - apply style sheets and then save any resulting figures to disc in one or more formats
  • CentredAxes - makes a plot where the axes cross at the origin and there is no outside frame.
  • StackVertical - make a multi-panel plot where the panels are arranged in a vertical stack and pushed together so that the top-x-axis on one frame is the bottom of the next.
  • MultiPanel - a general-purpose multi-panel plotting helper.
  • InsetPlot - create an inset set of axes.
  • DoubleYAxis - setup the righthand y axis for a second scale and optional colour the y-axes differently and merge the legend into a single legend.

Colour Cycles

The default colour cycle is based on the London Underground map colour scheme (why not?) and goes

  • Northern
  • Central
  • Picadily
  • District
  • Metropolitan
  • Bakerloo
  • Jubilee
  • Overground
  • Victoria
  • Elizabeth
  • Circle

Reference

The package adds these as named colours in matplotlib, along with 90,50,70 and 10% shade variants of some of them. See the documentation page on colours for a full list.

This package draws heavily on scienceplots, so it seems only fair to cite the original work....

@software{john_garrett_2023_10206719,
  author       = {John Garrett and
                  Echedey Luis and
                  H.-H. Peng and
                  Tim Cera and
                  gobinathj and
                  Josh Borrow and
                  Mehmet Keçeci and
                  Splines and
                  Suraj Iyer and
                  Yuming Liu and
                  cjw and
                  Mikhail Gasanov},
  title        = {garrettj403/SciencePlots: 2.1.1},
  month        = nov,
  year         = 2023,
  publisher    = {Zenodo},
  version      = {2.1.1},
  doi          = {10.5281/zenodo.10206719},
  url          = {https://doi.org/10.5281/zenodo.10206719},
}

The doi and BibTex reference for stonerplots is: https://doi.org/10.5281/zenodo.14026874

@software{gavin_burnell_2024_14026874,
  author       = {Gavin Burnell},
  title        = {stonerlab/stonerplots},
  month        = February,
  year         = 2026,
  publisher    = {Zenodo},
  version      = {v1.9.2},
  doi          = {10.5281/zenodo.14026874},
  url          = {https://doi.org/10.5281/zenodo.14026874},

}

Metadata

Release files for StonerPlots 1.9.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for StonerPlots 1.9.5
File Size Uploaded
stonerplots-1.9.5.tar.gz 3.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for StonerPlots 1.9.5
File Interpreter ABI Platform
stonerplots-1.9.5-py3-none-any.whl Python 3 none any Details

Total release size: 3.4 MB

Release files / stonerplots-1.9.5.tar.gz

Download URL stonerplots-1.9.5.tar.gz
Size 3.4 MB
Tags Source
SHA-256 checksum
How to use checksums
3dc1abf023d1189600448e775b72177fd6c23a60a71e7a40c2c7ef917e4bb546
BLAKE2b-256 checksum
How to use checksums
2b1c2dc5e77013cf61a1d470523a10eba19c1c6152f7014954ef66cddcec2118
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release files / stonerplots-1.9.5-py3-none-any.whl

Download URL stonerplots-1.9.5-py3-none-any.whl
Size 56.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e66a6da24e76e4a3ad0bfe0ddc949c0a1e1feec08dfd5ca48e1d37a8b4cd2ca4
BLAKE2b-256 checksum
How to use checksums
e5fa87ed840c04136ae5b6d5cc2946c0596a7ac6da0b2878d84f6fc073e36c0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release history Release notifications | RSS feed

This release

1.9.5 This release

2 release files

1.9.4

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.0

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page