ATLAS Matplotlib Style
======================
.. image:: 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 <http://atlas.cern>`__ collaboration.
**Please open an issue if you find this style deviates from the guidelines.**
Install from PyPI using pip: :code:`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 <https://github.com/NLKNguyen/papercolor-theme>`__ 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 <https://github.com/voronianski/oceanic-next-color-scheme>`__
theme
UHI and the PlottableHistogram protocol
-----------------------------------------
With the development of the `UHI <https://github.com/henryiii/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
<https://github.com/scikit-hep/uproot4>`__ can be plotted directly, as can
`Boost-Histogram <https://github.com/scikit-hep/boost-histogram>`__ histograms
and `Hist <https://github.com/scikit-hep/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 <https://www.tug.org/texlive/quickinstall.html>`__.
**TeXLive is not required for the "slides" or "print" style.** `Fira Sans
<https://bboxtype.com/typefaces/FiraSans/>`__ and `Iosevka
<https://github.com/be5invis/Iosevka/releases/>`__ should be installed
for these styles to appear as intended. However, neither is *necessary*.
Raw data
{
"_id": null,
"home_page": null,
"name": "atlas-mpl-style",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "plotting, atlas, matplotlib, cern, root, hep, high-energy-physics, physics",
"author": null,
"author_email": "Beojan Stanislaus <beojan.stanislaus@cern.ch>",
"download_url": "https://files.pythonhosted.org/packages/fe/f3/766543d2a9c0c78cd67c76d279ddfce204179348cd0af0918141ebee0e4b/atlas_mpl_style-0.23.3.tar.gz",
"platform": null,
"description": "ATLAS Matplotlib Style\n======================\n.. image:: https://img.shields.io/pypi/v/atlas-mpl-style?label=PyPI&style=for-the-badge :alt: PyPI \n\n**Despite the last commit date, this package is still maintained. If you have any comments or improvements, open an issue or PR.**\n\nProvides a Matplotlib style replicating that used by the\n`ATLAS <http://atlas.cern>`__ collaboration.\n\n**Please open an issue if you find this style deviates from the guidelines.**\n\nInstall from PyPI using pip: :code:`pip install atlas-mpl-style`\n\nDocumentation: https://atlas-mpl.readthedocs.io/en/latest/index.html\n\nIn addition, this package also provides:\n\n- A function to draw the ATLAS label\n- A ``plot`` module containing functions to plot pre-binned histograms and\n limits. This includes functionality for plotting stacked backgrounds along\n with data and ratios in the usual ATLAS style.\n- A matplotlib style based on the background / foreground from the VIM `Paper <https://github.com/NLKNguyen/papercolor-theme>`__ color scheme, along with a print version with a white background.\n - The default color cycle in all three styles is generated with HCL Wizard\n\n- Additional Matplotlib color definitions based on the Paper theme, and the\n `Oceanic Next <https://github.com/voronianski/oceanic-next-color-scheme>`__\n theme\n\nUHI and the PlottableHistogram protocol\n----------------------------------------- \n\nWith the development of the `UHI <https://github.com/henryiii/uhi>`__ interface,\nthis package now has support for histogram objects that follow the\n``PlottableHistogram`` protocol. ``plot.Background`` objects can be constructed\nusing ``PlottableHistograms`` and a list of such ``Backgrounds`` can be passed\nto ``plot.plot_backgrounds`` omitting the ``bins`` argument. The other histogram\nplotting functions could not be modified to accept ``PlottableHistogram`` in a\nbackward compatible manner since they take ``bins`` before the histogram\nargument. Alternate versions of these functions are therefore provided in the\n``uhi`` module.\n\nAs a result of this support, the histogram objects returned by `Uproot 4\n<https://github.com/scikit-hep/uproot4>`__ can be plotted directly, as can\n`Boost-Histogram <https://github.com/scikit-hep/boost-histogram>`__ histograms\nand `Hist <https://github.com/scikit-hep/hist>`__ objects (once the relevent PRs\nare merged into those repositories).\n\n\n``usetex=False`` Mode\n------------------------\n\n``usetex=False`` is now the default, removing the LaTeX dependency. However, there are a few points to\nbear in mind.\n\n1. The call to ``draw_atlas_label`` should be the last thing done before calling ``savefig``.\n2. The figure ``dpi`` is set to 72 to match that of the PDF backend. This *must\n not* be changed if the plot will be exported in PDF or (E)PS format since\n doing so would cause the spacing in the ATLAS label to be incorrect.\n3. Due to the above, the ``dpi`` parameter should not be passed when exporting to\n a raster format.\n4. When converting a plotting script that uses ``usetex=True`` mode, ensure labels\n are updated to remove LaTeX macros that are not supported by Matplotlib's\n mathtext.\n\n\nTeXLive and Fonts Needed\n------------------------\nIf 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\nbe included in labels.\n\nA working TeXLive installation providing the following is required:\n\n- pdflatex\n- amsmath\n- TeX Gyre Heros\n- mathastext\n- physics (the package)\n- siunitx\n\nIf no LaTeX installation is available, the style will warn and fall back to the ``usetex=False`` behaviour.\nTo check if all necessary packages are installed, try building ``atlas_mpl_style/testing/ampl-test.tex``.\n\nOn Arch (and related distributions), the ``texlive-most`` group is sufficient.\n\nOn Debian (Jessie or above) or Ubuntu (18.04+), the following set of packages should be sufficient. It is however highly recommended\nthat you install `texlive-full` to obtain a complete installation of texlive.\n\n- texlive\n- texlive-latex-extra\n- texlive-fonts-recommended\n- texlive-lang-greek\n- tex-gyre\n- dvipng\n- ghostscript\n\nOn CentOS 7, the supplied TeXLive (2012) is extremely old. TeXLive should be\ninstalled from `upstream <https://www.tug.org/texlive/quickinstall.html>`__.\n\n**TeXLive is not required for the \"slides\" or \"print\" style.** `Fira Sans\n<https://bboxtype.com/typefaces/FiraSans/>`__ and `Iosevka\n<https://github.com/be5invis/Iosevka/releases/>`__ should be installed\nfor these styles to appear as intended. However, neither is *necessary*.\n",
"bugtrack_url": null,
"license": null,
"summary": "ATLAS style for Matplotlib 3.0+",
"version": "0.23.3",
"project_urls": {
"Documentation": "https://atlas-mpl.readthedocs.io/en/latest/",
"Home": "https://github.com/beojan/atlas-mpl"
},
"split_keywords": [
"plotting",
" atlas",
" matplotlib",
" cern",
" root",
" hep",
" high-energy-physics",
" physics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "68235cabb434f289b5eef4de3cf47677c20377ac8421d8d5ebe74e698b6ec7f7",
"md5": "3bd3fcef99cb6925e2bc29a9a42a6d87",
"sha256": "63d51ee3629a4b633aab05cfbe28cc9b55b86e91befc501d060ee675382f7f41"
},
"downloads": -1,
"filename": "atlas_mpl_style-0.23.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3bd3fcef99cb6925e2bc29a9a42a6d87",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 37753,
"upload_time": "2024-06-28T22:25:27",
"upload_time_iso_8601": "2024-06-28T22:25:27.262703Z",
"url": "https://files.pythonhosted.org/packages/68/23/5cabb434f289b5eef4de3cf47677c20377ac8421d8d5ebe74e698b6ec7f7/atlas_mpl_style-0.23.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fef3766543d2a9c0c78cd67c76d279ddfce204179348cd0af0918141ebee0e4b",
"md5": "3b8b9e7ab654c6140717342cc6db9b53",
"sha256": "714417f2a8437c9c66431fa302f8f7af85252eb2f6068875d69ba4c464c431a8"
},
"downloads": -1,
"filename": "atlas_mpl_style-0.23.3.tar.gz",
"has_sig": false,
"md5_digest": "3b8b9e7ab654c6140717342cc6db9b53",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 92462,
"upload_time": "2024-06-28T22:25:29",
"upload_time_iso_8601": "2024-06-28T22:25:29.530880Z",
"url": "https://files.pythonhosted.org/packages/fe/f3/766543d2a9c0c78cd67c76d279ddfce204179348cd0af0918141ebee0e4b/atlas_mpl_style-0.23.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-28 22:25:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "beojan",
"github_project": "atlas-mpl",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "atlas-mpl-style"
}