ATLAS Plots provides a simple interface to produce plots in ROOT following the standard ATLAS style guidelines. It uses matplotlib-like syntax and idioms while still giving access to the underlying ROOT objects.
Behold, the simplicity of ATLAS Plots:
import atlasplots as aplt
aplt.set_atlas_style()
fig, ax = aplt.subplots(1, 1)
ax.set_xlabel("X [GeV]")
ax.set_ylabel("Events")
ax.set_xlim(0, 100)
ax.set_ylim(0, 10)
fig.savefig("figure.png")
Compare with the equivalent PyROOT code:
import ROOT
import atlasplots as aplt
aplt.set_atlas_style()
canv = ROOT.TCanvas("canv", "", 800, 600)
frame = ROOT.TH1F("frame", "", 1, 0, 1)
frame.GetXaxis().SetTitle("X [GeV]")
frame.GetYaxis().SetTitle("Events")
frame.GetXaxis().SetLimits(0, 100)
frame.GetYaxis().SetLimits(0, 10)
frame.Draw("AXIS")
canv.SaveAs("figure.png")
$ pip install atlasplots
You can also install in editable mode if you need a quick-and-dirty way to make changes to the source code:
$ git clone <project-url>
$ cd atlas-plots
$ pip install [--user] -e .
For those who learn by example
Several examples of more complex plots, such as histogram fits, ratio and fit-residual panels, Data/MC plots, etc., are available under the examples/
directory.
The ATLAS Plots documentation is available at https://atlas-plots.readthedocs.io.