### Python Setup for Model Examples Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/model_examples_pull.md This Python snippet demonstrates the setup required for running model examples in mplhep. It configures plotting styles and initializes necessary components for generating plots. ```python random_seed = 12345 num_samples = 10000 # Generate some data mean = 0 std = 1 data = np.random.default_rng(random_seed).normal(mean, std, num_samples) # Create a histogram h = hist.Hist( hist.axis.Regular(50, -4, 4, name="x", label="x"), storage=hist.storage.Double(), ) h.fill(data) # Create a model model = norm(loc=mean, scale=std) # Define the plotting function def plot_body(): hnp.plot.plot(h, density=True, label="Data") x = np.linspace(mean - 4 * std, mean + 4 * std, 100) plt.plot(x, model.pdf(x), label="Model") plt.legend() ``` -------------------------------- ### Python Setup for Mplhep Model Examples Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/model_examples_unstacked.md Configures the plotting style and environment for Mplhep model examples. Sets up CMS style and defines parameters like luminosity. ```python np.random.seed(0) x = np.linspace(-3, 3, 100) # Signal s = norm.pdf(x, 0, 1) # Background b = norm.pdf(x, 0, 2) * 0.5 # Data data = s + b # Errors err = np.sqrt(data) # Plotting plt.figure(figsize=(10, 8)) # Use errors to plot plt.errorbar(x, data, yerr=err, fmt="o", capsize=3, label="Data") # Plot signal and background plt.plot(x, s, label="Signal") plt.plot(x, b, label="Background") # Plot total plt.plot(x, s + b, label="Total") ``` -------------------------------- ### Python Setup for Stacked Model Examples Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/model_examples_stacked.md Sets up the plotting environment and data generation for stacked plots. This code is crucial for preparing the data and canvas. ```python np.random.seed(0) # Data n = 50 x = np.linspace(0, 10, n) y_sig = np.random.normal(5, 1, n) y_bkg1 = np.random.normal(3, 1, n) y_bkg2 = np.random.normal(2, 1, n) y_err = np.random.uniform(0.5, 1.5, n) ``` -------------------------------- ### Python Full Code for Stacked Model Examples Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/model_examples_stacked.md Provides the complete, executable Python script for generating stacked model examples. This includes all necessary imports, setup, and plotting logic. ```python import matplotlib.pyplot as plt import numpy as np import mplhep as hep plt.style.use(hep.style.ROOT) np.random.seed(0) # Data n = 50 x = np.linspace(0, 10, n) y_sig = np.random.normal(5, 1, n) y_bkg1 = np.random.normal(3, 1, n) y_bkg2 = np.random.normal(2, 1, n) y_err = np.random.uniform(0.5, 1.5, n) def plot_body(): # Plotting fig, ax = plt.subplots() ax.errorbar(x, y_sig, yerr=y_err, fmt="o", ms=3, label="Signal", color="red", capsize=2) ax.bar(x, y_bkg1, label="Background 1", color="blue", alpha=0.7) ax.bar(x, y_bkg2, label="Background 2", color="green", alpha=0.7) ax.set_xlabel("X-axis") ax.set_ylabel("Y-axis") ax.set_title("Stacked Model Example") ax.legend() return fig, ax if __name__ == "__main__": fig, ax = plot_body() plt.show() ``` -------------------------------- ### Prerequisites for mplhep Usage Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/guide.md This code block sets up the necessary imports and configurations for using mplhep. It includes importing matplotlib, numpy, hist, and mplhep itself, along with setting a random seed and applying a style. This is a common starting point for most mplhep examples. ```python import matplotlib.pyplot as plt import numpy as np import hist np.random.seed(42) import mplhep as mh mh.style.use('') ``` -------------------------------- ### Template-Based Style Guide Generation (Python) Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/CONTRIBUTING_DOC.md Illustrates a Python script (`generate_style_guides.py`) used to automatically generate documentation for different plotting styles. It utilizes a template (`docs/*_template.md`) and a dictionary of styles (`STYLES`) to create consistent examples across multiple tabs. This process is integrated into the MkDocs build, ensuring automatic updates. ```python import mplhep as mh # Example of a placeholder usage within a template # This code would be part of the generate_style_guides.py script # and would dynamically insert code based on style definitions. # Placeholder for style definition (conceptual) STYLES = { 'CMS': { 'label_code': "mh.cms.label('Preliminary', data=True, lumi=100, com=13)", 'magic_code': '' }, 'ATLAS': { 'label_code': "mh.atlas.label('Internal', data=True, lumi=150, com=13)", 'magic_code': "mh.mpl_magic(soft_fail=True)" } } # Conceptual rendering logic (simplified) def render_template(template_path, style_name): with open(template_path, 'r') as f: template_content = f.read() style_info = STYLES[style_name] rendered = template_content.replace('{{STYLE_CODE}}', style_name) rendered = rendered.replace('{{LABEL_CODE}}', style_info['label_code']) rendered = rendered.replace('{{MAGIC_CODE}}', style_info['magic_code']) return rendered # Example usage: # print(render_template('docs/guide_template.md', 'CMS')) # print(render_template('docs/guide_template.md', 'ATLAS')) ``` -------------------------------- ### Quick Start mplhep Plotting with Matplotlib (Python) Source: https://github.com/scikit-hep/mplhep/blob/main/docs/source/install.md Demonstrates the basic usage of mplhep for plotting. It involves importing necessary libraries, loading a style sheet, generating sample data, and creating a plot using mplhep's histplot function. Requires numpy, matplotlib, and mplhep. ```python import numpy as np import matplotlib.pyplot as plt import mplhep as mh # Load style sheet plt.style.use(mh.style.CMS) # or ATLAS/LHCb2 h, bins = np.histogram(np.random.random(1000)) fig, ax = plt.subplots() mh.histplot(h, bins) ``` -------------------------------- ### Generate Style Guides with Custom Paths (Bash) Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/CONTRIBUTING_DOC.md Generates style-specific documentation guides using custom template and output file paths. Allows for flexibility in file management. ```bash python generate_style_guides.py --template my_template.md --output my_output/guide.md ``` -------------------------------- ### Full Model Comparison Script Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/model_all_comparisons.md The complete implementation combining imports, setup, and plotting logic into a single executable script. This provides a comprehensive example for generating model comparison visualizations. ```python import matplotlib.pyplot as plt import mplhep as hep plt.style.use(hep.style.CMS) fig, ax = plt.subplots() # Plotting logic hep.histplot(data, ax=ax) plt.show() ``` -------------------------------- ### Full Python Code for Mplhep Model Examples Unstacked Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/model_examples_unstacked.md The complete Python script for generating unstacked model examples with Mplhep. This includes all necessary imports, setup configurations, and the plotting logic. ```python import matplotlib.pyplot as plt import numpy as np from cycler import cycler import mplhep as hnp hnp.set_style("CMS", lumi=20.0) from scipy.stats import norm from scipy.optimize import curve_fit np.random.seed(0) x = np.linspace(-3, 3, 100) # Signal s = norm.pdf(x, 0, 1) # Background b = norm.pdf(x, 0, 2) * 0.5 # Data data = s + b # Errors err = np.sqrt(data) # Plotting plt.figure(figsize=(10, 8)) # Use errors to plot plt.errorbar(x, data, yerr=err, fmt="o", capsize=3, label="Data") # Plot signal and background plt.plot(x, s, label="Signal") plt.plot(x, b, label="Background") # Plot total plt.plot(x, s + b, label="Total") plt.plot(x, s + b, "--", label="Total") hnp.mpl_plot_errorbars(x, data, err, "o", capsize=3, label="Data") hnp.mpl_plot(x, s, label="Signal") hnp.mpl_plot(x, b, label="Background") hnp.mpl_plot(x, s + b, "--", label="Total") plt.xlabel("X-axis") plt.ylabel("Y-axis") plt.title("Model Examples Unstacked") plt.legend() plt.grid(True) plt.show() ``` -------------------------------- ### Install Documentation Requirements (Bash) Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/CONTRIBUTING_DOC.md Installs the necessary Python packages for building the documentation using pip. It reads the requirements from the specified file. ```bash pip install -r new_docs/requirements_docs.txt ``` -------------------------------- ### Python Imports for Mplhep Model Examples Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/model_examples_stacked_unstacked.md Provides the necessary import statements for running Mplhep model examples. This includes libraries for plotting and data manipulation. ```python import matplotlib.pyplot as plt import numpy as np from mplhep.plot import pltconfig from mplhep.plot import backend_switch from scipy.stats import norm from scipy.special import erf import pandas as pd import os from cycler import cycler from matplotlib.ticker import NullFormatter, ScalarFormatter from matplotlib.colors import LogNorm from matplotlib.patches import Patch from matplotlib.collections import PatchCollection from matplotlib.transforms import Affine2D from matplotlib.path import Path from matplotlib.ticker import AutoLocator, NullFormatter, FixedLocator, MultipleLocator from matplotlib.dates import DateFormatter from matplotlib.patches import Rectangle from matplotlib.ticker import PercentFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import LogLocator from matplotlib.ticker import NullLocator from matplotlib.ticker import AutoMinorLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib.ticker import NullFormatter from matplotlib.ticker import ScalarFormatter from matplotlib.ticker import PercentFormatter from matplotlib.ticker import MaxNLocator from matplotlib.ticker import AutoLocator from matplotlib.ticker import MultipleLocator from matplotlib.ticker import FixedLocator from matplotlib.ticker import LinearLocator from matplotlib.ticker import LogitLocator from matplotlib.ticker import StrMethodFormatter from matplotlib.ticker import FuncFormatter from matplotlib.ticker import Locator from matplotlib ``` -------------------------------- ### Generate Style Guides Manually (Bash) Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/CONTRIBUTING_DOC.md Manually triggers the generation of style-specific documentation guides using the Python script. This command regenerates the 'guide.md' file. ```bash python generate_style_guides.py ``` -------------------------------- ### Setup Data and Model for Ratio Plot (Python) Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/ratio_data_vs_model_with_stacked_and_unstacked_function_components.md Prepares sample data and defines a model function for comparison. This setup is crucial for generating a meaningful ratio plot, illustrating the relationship between observed data and theoretical predictions. ```python np.random.seed(0) x = np.linspace(0, 10, 100) yerr = np.random.uniform(0.1, 0.5, 100) y = np.sin(x) + yerr * 2 model = np.sin(x) # Example of stacked data stacked_y = y + np.random.uniform(-0.2, 0.2, 100) stacked_yerr = yerr + np.random.uniform(0.05, 0.1, 100) # Example of unstacked data unstacked_y = y - np.random.uniform(-0.2, 0.2, 100) unstacked_yerr = yerr - np.random.uniform(0.05, 0.1, 100) ``` -------------------------------- ### Install development environment for mplhep Source: https://github.com/scikit-hep/mplhep/blob/main/CONTRIBUTING.md Installs the project in editable mode with all dependencies. This is the standard way to set up the local development environment. ```bash python -m pip install --upgrade --editable ".[all]" ``` -------------------------------- ### Check Python Version (Python Console) Source: https://github.com/scikit-hep/mplhep/blob/main/docs/source/install.md Shows how to check the installed Python version from the command prompt. This is useful for verifying compatibility and ensuring the correct Python environment is active. No specific dependencies are required beyond a Python installation. ```pycon >>> python --version ``` ```pycon >>> python3 --version ``` -------------------------------- ### Full Code for Ratio Plot Example (Python) Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/ratio_data_vs_model_with_stacked_and_unstacked_function_components.md Provides the complete Python script for generating the ratio data vs model plot with stacked and unstacked components. This includes all necessary imports, data setup, and the plotting function, allowing for direct execution. ```python import numpy as np import pandas as pd import matplotlib.pyplot as plt import mplhep as hep plt.style.use(hep.style.ROOT) def plot_body(): np.random.seed(0) x = np.linspace(0, 10, 100) yerr = np.random.uniform(0.1, 0.5, 100) y = np.sin(x) + yerr * 2 model = np.sin(x) # Example of stacked data stacked_y = y + np.random.uniform(-0.2, 0.2, 100) stacked_yerr = yerr + np.random.uniform(0.05, 0.1, 100) # Example of unstacked data unstacked_y = y - np.random.uniform(-0.2, 0.2, 100) unstacked_yerr = yerr - np.random.uniform(0.05, 0.1, 100) fig, (ax, ax2) = plt.subplots(2, 1, sharex=True, gridspec_kw={'height_ratios': [3, 1]}) fig.subplots_adjust(hspace=0.05) # Top plot: Data vs Model ax.errorbar(x, y, yerr=yerr, fmt='o', label='Data', capsize=3) ax.plot(x, model, '-', label='Model') # Stacked data example ax.errorbar(x, stacked_y, yerr=stacked_yerr, fmt='s', label='Stacked Data', capsize=3) # Unstacked data example ax.errorbar(x, unstacked_y, yerr=unstacked_yerr, fmt='^', label='Unstacked Data', capsize=3) ax.set_ylabel('Value') ax.legend() ax.grid(True) # Bottom plot: Ratio ratio = (stacked_y - model) / stacked_yerr ratio_err = np.ones_like(ratio) ax2.errorbar(x, ratio, yerr=ratio_err, fmt='s', capsize=3) ratio2 = (unstacked_y - model) / unstacked_yerr ratio2_err = np.ones_like(ratio2) ax2.errorbar(x, ratio2, yerr=ratio2_err, fmt='^', capsize=3) ax2.set_ylabel('Ratio') ax2.set_xlabel('X-axis') ax2.grid(True) ax2.axhline(0, color='k', linestyle='--') hep.mpl_magic(ax=ax) hep.mpl_magic(ax=ax2) return fig if __name__ == '__main__': fig = plot_body() plt.show() ``` -------------------------------- ### Python Imports for Mplhep Model Examples Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/model_examples_unstacked.md Imports required libraries for Mplhep model examples. This includes standard libraries and Mplhep specific modules for plotting and data handling. ```python import matplotlib.pyplot as plt import numpy as np from cycler import cycler import mplhep as hnp hnp.set_style("CMS", lumi=20.0) from scipy.stats import norm from scipy.optimize import curve_fit ``` -------------------------------- ### Basic Histogram with ATLAS Style Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/CONTRIBUTING_DOC.md Illustrates creating a basic histogram with the ATLAS style using mplhep. This example includes setting the ATLAS style, adding labels, and applying mpl_magic for compatibility. ```python # mkdocs: render import mplhep as mh mh.style.use('ATLAS') # Create plot mh.atlas.label('Internal', data=True, lumi=150, com=13) mh.mpl_magic(soft_fail=True) plt.show() ``` -------------------------------- ### Python Plotting Logic for Mplhep Model Examples Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/gallery/model_examples_unstacked.md Contains the core logic for plotting unstacked model examples using Mplhep. It generates data, defines signal and background components, and visualizes them with error bars. ```python plt.plot(x, s + b, "--", label="Total") hnp.mpl_plot_errorbars(x, data, err, "o", capsize=3, label="Data") hnp.mpl_plot(x, s, label="Signal") hnp.mpl_plot(x, b, label="Background") hnp.mpl_plot(x, s + b, "--", label="Total") plt.xlabel("X-axis") plt.ylabel("Y-axis") plt.title("Model Examples Unstacked") plt.legend() plt.grid(True) plt.show() ``` -------------------------------- ### Initialize mplhep environment Source: https://github.com/scikit-hep/mplhep/blob/main/new_docs/docs/guide_utilities_template.md Standard setup required for utilizing mplhep features, including imports for matplotlib, numpy, and hist. ```python import matplotlib.pyplot as plt import numpy as np import hist np.random.seed(42) import mplhep as mh ```