Skip to main content

This is a fork of scienceplots and provides a range of matplotlib styles for plotting physics...

Project description

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

Stoner Plots

Stoner Plots is a fork of Science Plots

Presentation Style Image

Usage

Before using the new styles you need to import stonerplots - but it's ok to just import e.g. the SavedFigure context manager:

from stonerplots import SavedFigure

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

The SavedFigure context manager will handle the call to the matplotlib style context manager and will also save any figures opened within the context manager. If the filename for the figure has an embedded place holder for {ix}, then multiple figures can be saved without clobbering the filename.

There is also an InsetPlot context manager that can help you get insets placed correctly so that axes labels don't escape over the edge of the surrounding figure.

with SavedFigure("my_figure.pdf", style=["stoner","aps"]):
    plt.figure()
    plt.plot(x,y,label="Dataset")
    ...
    with InsetPlot(loc="lower right", width=0.25, height=0.25, padding=0.05) as inset:
        inset.plot(x, model(x, 200), linestyle="--")

See below for the full list of styles and context managers.

Documentation

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

Available 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 columne 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)
  • presentation_sm - a style for making 1/2 width graphs.
  • presentation_dark - tweak the weight of elements for dark presnetations.
  • 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.

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

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.

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
  • 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 miulti-panel plotting helper.
  • InsetPlot - create an inset set of axes.

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

@article{StonerPlots,
  author       = {John D. Garrett},
  title        = {{garrettj403/SciencePlots}},
  month        = sep,
  year         = 2021,
  publisher    = {Zenodo},
  version      = {1.0.9},
  doi          = {10.5281/zenodo.4106649},
  url          = {http://doi.org/10.5281/zenodo.4106649}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stonerplots-1.5.2.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

StonerPlots-1.5.2-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file stonerplots-1.5.2.tar.gz.

File metadata

  • Download URL: stonerplots-1.5.2.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.15

File hashes

Hashes for stonerplots-1.5.2.tar.gz
Algorithm Hash digest
SHA256 2dc3bf78524b98f13b3da8e20253f02e3f9ca2c83b06416bd207ac878ad15a7d
MD5 c24c8083e02e0f787bc0e29d29e37f41
BLAKE2b-256 93c8dd2619ef1dca2e804128ee12b5ca194614a3a0afa70a16986048a84e148c

See more details on using hashes here.

File details

Details for the file StonerPlots-1.5.2-py3-none-any.whl.

File metadata

  • Download URL: StonerPlots-1.5.2-py3-none-any.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.15

File hashes

Hashes for StonerPlots-1.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ce7e04fb02ef688dc33f94caa82bcea7d91802d670b03dcd76d41f088b5871fe
MD5 5126daffd49c43523386ea477cc64727
BLAKE2b-256 b5e9cb45557895f3f5d30be730a4dbfbfb8c4f30e85ccad9bc6596f0d4d43fc0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page