.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "example_gallery/advanced/1d_comparison_advanced.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_example_gallery_advanced_1d_comparison_advanced.py: Multiple comparisons ==================== Compare two 1D histograms using the pull and ratio methods on the same plot. .. GENERATED FROM PYTHON SOURCE LINES 7-88 .. image-sg:: /example_gallery/advanced/images/sphx_glr_1d_comparison_advanced_001.svg :alt: 1d comparison advanced :srcset: /example_gallery/advanced/images/sphx_glr_1d_comparison_advanced_001.svg :class: sphx-glr-single-img .. code-block:: Python from plothist_utils import get_dummy_data df = get_dummy_data() ### from plothist import ( create_comparison_figure, get_color_palette, make_hist, plot_comparison, plot_error_hist, plot_hist, ) name = "variable_1" category = "category" x1 = df[name][df[category] == 1] x2 = df[name][df[category] == 4] x3 = df[name][df[category] == 3] x4 = df[name][df[category] == 5] x_range = (-9, 9) h1 = make_hist(x3, bins=50, range=x_range) h2 = make_hist(x4, bins=50, range=x_range) h3 = make_hist(x1, bins=50, range=x_range) h4 = make_hist(x2, bins=50, range=x_range) # Create the 3 axes that we need for this plot fig, axes = create_comparison_figure( figsize=(6, 6), nrows=3, gridspec_kw={"height_ratios": [5, 1, 1]} ) # Assign each axes: 1 to plot the histograms and 2 for the comparison plots ax_main, ax1_comparison, ax2_comparison = axes # Get the red and the blue from the default color cycle colors = get_color_palette("ggplot", 2) # Here, we use step as a histtype to only draw the line plot_hist(h1, label="Train A", ax=ax_main, histtype="step", linewidth=1.2, density=True) plot_hist(h3, label="Train B", ax=ax_main, histtype="step", linewidth=1.2, density=True) # And then, to make the plot easier to read, we redraw them with stepfilled, which add color below the line plot_hist( h1, ax=ax_main, histtype="stepfilled", color=colors[0], alpha=0.2, density=True ) plot_hist( h3, ax=ax_main, histtype="stepfilled", color=colors[1], alpha=0.2, density=True ) # We plot 2 additional histograms with point style plot_error_hist(h2, label="Test A", ax=ax_main, color="blue", density=True) plot_error_hist(h4, label="Test B", ax=ax_main, color="red", density=True) # First comparison is using pulls. We also change the color of the bars to make the plot easier to read plot_comparison( h2, h1, ax=ax1_comparison, comparison="pull", color=colors[0], alpha=0.7 ) # Second comparison is using the default "ratio". Same strategy as pulls plot_comparison(h4, h3, ax=ax2_comparison, color=colors[1], alpha=0.7) # Harmonize the range of each axes ax_main.set_xlim(x_range) ax1_comparison.set_xlim(x_range) ax2_comparison.set_xlim(x_range) # Set the labels for the different axes ax_main.set_ylabel("Entry density") ax1_comparison.set_ylabel("$Pull_{A}$") ax2_comparison.set_ylabel("$Ratio_{B}$") ax2_comparison.set_xlabel("Variable [unit]") # Add the legend ax_main.legend(loc="upper left") # Align the ylabels fig.align_ylabels() fig.savefig("1d_comparison_advanced.svg", bbox_inches="tight") .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 1.091 seconds) .. _sphx_glr_download_example_gallery_advanced_1d_comparison_advanced.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: 1d_comparison_advanced.ipynb <1d_comparison_advanced.ipynb>` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: 1d_comparison_advanced.py <1d_comparison_advanced.py>` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: 1d_comparison_advanced.zip <1d_comparison_advanced.zip>` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_