Plot ------------ .. warning:: This module is mainly intended for interactive usage, it is experimental and still in development. The API might change without warning and breaks code. Utilities to plot PDFs and functions. These are simple helpers to plot models and their components, they are not meant to be a full-fledged plotting library but provide a quick way to visualize PDFs. The plotting is based on ``matplotlib`` and integrates closely with it. Quick Start ^^^^^^^^^^^ The easiest way to plot a PDF is using the ``.plot`` attribute available on all PDFs:: # Plot a simple PDF pdf.plot.plotpdf() # Plot an extended PDF (scaled by yield) pdf.plot.plotpdf(extended=True) # Plot with custom styling pdf.plot.plotpdf(linestyle='--', color='red', label='My PDF') # For composite PDFs (like SumPDF), plot components sumpdf.plot.comp.plotpdf() Examples ^^^^^^^^ **Basic plotting**:: import zfit import matplotlib.pyplot as plt # Create a simple Gaussian obs = zfit.Space("x", limits=(-5, 5)) gauss = zfit.pdf.Gauss(mu=0, sigma=1, obs=obs) # Plot the PDF gauss.plot.plotpdf() plt.show() **Plotting extended PDFs with components**:: # Create extended PDFs gauss1 = zfit.pdf.Gauss(mu=-1, sigma=0.5, obs=obs).create_extended(100) gauss2 = zfit.pdf.Gauss(mu=1, sigma=0.8, obs=obs).create_extended(150) # Create a SumPDF (automatically extended) sumpdf = zfit.pdf.SumPDF([gauss1, gauss2]) # Plot the sum and its components sumpdf.plot.plotpdf(label='Sum') sumpdf.plot.comp.plotpdf(linestyle='--') plt.legend() plt.show() **Custom plotting with data overlay**:: # Generate and plot data data = sumpdf.sample(1000) plt.hist(data.value(), bins=50, density=True, alpha=0.5, label='Data') # Overlay the PDF sumpdf.plot.plotpdf(extended=False, label='PDF') plt.legend() plt.show() Available Functions ^^^^^^^^^^^^^^^^^^^ .. autosummary:: :toctree: _generated/plot zfit.plot.plot_model_pdf zfit.plot.plot_sumpdf_components_pdfV1