Skip to content
Back to skills

Hist

ASecurity

Use when working with the scikit-hep hist library in Python to create, fill, slice, and plot histograms (1D/2D/multi-axis), including UHI indexing, categorical axes, and mplhep plotting conventions.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 9, 2026
developmentpythongo

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill hist --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hist?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Hist
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-hist/badge)](https://www.skillsdirectory.com/skills/majiayu000-hist)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: hist
description: Use when working with the scikit-hep hist library in Python to create, fill, slice, and plot histograms (1D/2D/multi-axis), including UHI indexing, categorical axes, and mplhep plotting conventions.
---

# Hist

## Overview

Use this skill to build and manipulate hist.Hist objects, choose axis/storage types, fill with data and weights, and produce publication-style plots with mplhep styles, all based on matplotlib.

## Quick start

- Create histograms with `Hist.new` plus axis builders (`Reg`, `Var`, `StrCat`) and finish with exactly one storage (`Int64` or `Weight`).
- Make sure axis labels contain a short variable name and units. Histogram titles should contains a slightly longer concise description of what data went into the plot.
- Fill with `.fill(...)` using axis names; note that `.fill` returns `None`.
- Slice or project with UHI indexing (e.g., `h.project("x")` or `h[{"x": 5j}]`).
- Plot with `hist.plot(...)` or `mplhep.hist2dplot(...)`; use `plt.style.use(hep.style.ATLAS)` for HEP-style plots.

## Core tasks

### Create axes and storage

- Use `Reg` for uniform bins and `Var` for variable-width bins.
- Use `StrCat` for categorical axes; set `growth=True` for auto-added categories.
- Choose storage: `Int64` for unweighted counts, `Weight` for weighted fills.

### Fill and access contents

- Fill with named axes (e.g., `h.fill(x=..., y=..., weight=...)`).
- Read counts with `h.view()` and errors from `np.sqrt(h.variances())`.

### Slice, rebin, and project

- Use UHI slicing (complex numbers for bin selection, `::2j` for rebinning).
- Project with `h.project("axis_name")` for 1D plots.

### Plot and save

- Use `hist.plot(histtype="fill")` for 1D; use `mplhep.hist2dplot` for 2D.
- Use `plt.subplots()` without custom `figsize` unless explicitly requested.
- Save with `fig.savefig("name.png")` and close with `plt.close(fig)`.

## References

- Use `references/hist-hints.md` for concrete code snippets and common patterns.
- Use `references/hist-advanced.md` for UHI indexing, plotting gotchas, and label/LaTeX guidance.
- Use `references/lhc-hist-ranges.md` for starting suggestions on histogram axis ranges and binning.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.