Skip to main content

ATLAS style for Matplotlib 3.0+

Project description

https://img.shields.io/pypi/v/atlas-mpl-style?label=PyPI&style=for-the-badge:alt:PyPI

Despite the last commit date, this package is still maintained. If you have any comments or improvements, open an issue or PR.

Provides a Matplotlib style replicating that used by the ATLAS collaboration.

Please open an issue if you find this style deviates from the guidelines.

Install from PyPI using pip: pip install atlas-mpl-style

Documentation: https://atlas-mpl.readthedocs.io/en/latest/index.html

In addition, this package also provides:

  • A function to draw the ATLAS label

  • A plot module containing functions to plot pre-binned histograms and

    limits. This includes functionality for plotting stacked backgrounds along with data and ratios in the usual ATLAS style.

  • A matplotlib style based on the background / foreground from the VIM Paper color scheme, along with a print version with a white background. - The default color cycle in all three styles is generated with HCL Wizard

  • Additional Matplotlib color definitions based on the Paper theme, and the

    Oceanic Next theme

UHI and the PlottableHistogram protocol

With the development of the UHI interface, this package now has support for histogram objects that follow the PlottableHistogram protocol. plot.Background objects can be constructed using PlottableHistograms and a list of such Backgrounds can be passed to plot.plot_backgrounds omitting the bins argument. The other histogram plotting functions could not be modified to accept PlottableHistogram in a backward compatible manner since they take bins before the histogram argument. Alternate versions of these functions are therefore provided in the uhi module.

As a result of this support, the histogram objects returned by Uproot 4 can be plotted directly, as can Boost-Histogram histograms and Hist objects (once the relevent PRs are merged into those repositories).

usetex=False Mode

usetex=False is now the default, removing the LaTeX dependency. However, there are a few points to bear in mind.

  1. The call to draw_atlas_label should be the last thing done before calling savefig.

  2. The figure dpi is set to 72 to match that of the PDF backend. This must not be changed if the plot will be exported in PDF or (E)PS format since doing so would cause the spacing in the ATLAS label to be incorrect.

  3. Due to the above, the dpi parameter should not be passed when exporting to a raster format.

  4. When converting a plotting script that uses usetex=True mode, ensure labels are updated to remove LaTeX macros that are not supported by Matplotlib’s mathtext.

TeXLive and Fonts Needed

If you have a full LaTeX installation available, you can use LaTeX to typeset the text by passing usetex=True to use_atlas_style. This will give you much greater options in terms of what can be included in labels.

A working TeXLive installation providing the following is required:

  • pdflatex

  • amsmath

  • TeX Gyre Heros

  • mathastext

  • physics (the package)

  • siunitx

If no LaTeX installation is available, the style will warn and fall back to the usetex=False behaviour. To check if all necessary packages are installed, try building atlas_mpl_style/testing/ampl-test.tex.

On Arch (and related distributions), the texlive-most group is sufficient.

On Debian (Jessie or above) or Ubuntu (18.04+), the following set of packages should be sufficient. It is however highly recommended that you install texlive-full to obtain a complete installation of texlive.

  • texlive

  • texlive-latex-extra

  • texlive-fonts-recommended

  • texlive-lang-greek

  • tex-gyre

  • dvipng

  • ghostscript

On CentOS 7, the supplied TeXLive (2012) is extremely old. TeXLive should be installed from upstream.

TeXLive is not required for the “slides” or “print” style. Fira Sans and Iosevka should be installed for these styles to appear as intended. However, neither is necessary.

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

atlas_mpl_style-0.23.3.tar.gz (92.5 kB view details)

Uploaded Source

Built Distribution

atlas_mpl_style-0.23.3-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

Details for the file atlas_mpl_style-0.23.3.tar.gz.

File metadata

  • Download URL: atlas_mpl_style-0.23.3.tar.gz
  • Upload date:
  • Size: 92.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for atlas_mpl_style-0.23.3.tar.gz
Algorithm Hash digest
SHA256 714417f2a8437c9c66431fa302f8f7af85252eb2f6068875d69ba4c464c431a8
MD5 3b8b9e7ab654c6140717342cc6db9b53
BLAKE2b-256 fef3766543d2a9c0c78cd67c76d279ddfce204179348cd0af0918141ebee0e4b

See more details on using hashes here.

File details

Details for the file atlas_mpl_style-0.23.3-py3-none-any.whl.

File metadata

File hashes

Hashes for atlas_mpl_style-0.23.3-py3-none-any.whl
Algorithm Hash digest
SHA256 63d51ee3629a4b633aab05cfbe28cc9b55b86e91befc501d060ee675382f7f41
MD5 3bd3fcef99cb6925e2bc29a9a42a6d87
BLAKE2b-256 68235cabb434f289b5eef4de3cf47677c20377ac8421d8d5ebe74e698b6ec7f7

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