prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Add axis labels to pyhf.contrib.viz.brazil.plot_results
  # Description
  
  We know that the axis labels for [`pyhf.contrib.viz.brazil.plot_results`](https://github.com/scikit-hep/pyhf/blob/28fdfe95a3a4846ba70a9a338b3f72a94eac1322/src/pyhf/contrib/viz/brazil.py#L5) are always going to be the same, so we should just add them on there as
  
  ```python
  ax.set_xlabel(r"$\mu$")
  ax.set_ylabel(r"$\mathrm{CL}_{s}$")
  ```
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `src/pyhf/contrib/viz/brazil.py`
  Content:
  ```
  1 """Brazil Band Plots."""
  2 import numpy as np
  3 
  4 
  5 def plot_results(ax, mutests, tests, test_size=0.05):
  6     """Plot a series of hypothesis tests for various POI values."""
  7     cls_obs = np.array([test[0] for test in tests]).flatten()
  8     cls_exp = [np.array([test[1][i] for test in tests]).flatten() for i in range(5)]
  9     ax.plot(mutests, cls_obs, c='black')
  10     for idx, color in zip(range(5), 5 * ['black']):
  11         ax.plot(
  12             mutests, cls_exp[idx], c=color, linestyle='dotted' if idx != 2 else 'dashed'
  13         )
  14     ax.fill_between(mutests, cls_exp[0], cls_exp[-1], facecolor='yellow')
  15     ax.fill_between(mutests, cls_exp[1], cls_exp[-2], facecolor='green')
  16     ax.plot(mutests, [test_size] * len(mutests), c='red')
  17     ax.set_ylim(0, 1)
  18
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/src/pyhf/contrib/viz/brazil.py b/src/pyhf/contrib/viz/brazil.py
  --- a/src/pyhf/contrib/viz/brazil.py
  +++ b/src/pyhf/contrib/viz/brazil.py
  @@ -3,7 +3,37 @@
   
   
   def plot_results(ax, mutests, tests, test_size=0.05):
  -    """Plot a series of hypothesis tests for various POI values."""
  +    """
  +    Plot a series of hypothesis tests for various POI values.
  +
  +    Example:
  +
  +        >>> import numpy as np
  +        >>> import matplotlib.pyplot as plt
  +        >>> import pyhf
  +        >>> import pyhf.contrib.viz.brazil
  +        >>> pyhf.set_backend("numpy")
  +        >>> model = pyhf.simplemodels.hepdata_like(
  +        ...     signal_data=[12.0, 11.0], bkg_data=[50.0, 52.0], bkg_uncerts=[3.0, 7.0]
  +        ... )
  +        >>> observations = [51, 48]
  +        >>> data = observations + model.config.auxdata
  +        >>> poi_vals = np.linspace(0, 5, 41)
  +        >>> results = [
  +        ...     pyhf.infer.hypotest(test_poi, data, model, return_expected_set=True)
  +        ...     for test_poi in poi_vals
  +        ... ]
  +        >>> fig, ax = plt.subplots()
  +        >>> pyhf.contrib.viz.brazil.plot_results(ax, poi_vals, results)
  +
  +    Args:
  +        ax (`matplotlib.axes.Axes`): The matplotlib axis object to plot on.
  +        mutests (:obj:`list` or :obj:`array`): The values of the POI where the
  +          hypothesis tests were performed.
  +        tests (:obj:`list` or :obj:`array`): The :math:$\\mathrm{CL}_{s}$ values
  +          from the hypothesis tests.
  +        test_size (:obj:`float`): The size, :math:$\alpha$, of the test.
  +    """
       cls_obs = np.array([test[0] for test in tests]).flatten()
       cls_exp = [np.array([test[1][i] for test in tests]).flatten() for i in range(5)]
       ax.plot(mutests, cls_obs, c='black')
  @@ -15,3 +45,6 @@
       ax.fill_between(mutests, cls_exp[1], cls_exp[-2], facecolor='green')
       ax.plot(mutests, [test_size] * len(mutests), c='red')
       ax.set_ylim(0, 1)
  +
  +    ax.set_xlabel(r"$\mu$ (POI)")
  +    ax.set_ylabel(r"$\mathrm{CL}_{s}$")
  
verification_info: {"golden_diff": "diff --git a/src/pyhf/contrib/viz/brazil.py b/src/pyhf/contrib/viz/brazil.py\n--- a/src/pyhf/contrib/viz/brazil.py\n+++ b/src/pyhf/contrib/viz/brazil.py\n@@ -3,7 +3,37 @@\n \n \n def plot_results(ax, mutests, tests, test_size=0.05):\n-    \"\"\"Plot a series of hypothesis tests for various POI values.\"\"\"\n+    \"\"\"\n+    Plot a series of hypothesis tests for various POI values.\n+\n+    Example:\n+\n+        >>> import numpy as np\n+        >>> import matplotlib.pyplot as plt\n+        >>> import pyhf\n+        >>> import pyhf.contrib.viz.brazil\n+        >>> pyhf.set_backend(\"numpy\")\n+        >>> model = pyhf.simplemodels.hepdata_like(\n+        ...     signal_data=[12.0, 11.0], bkg_data=[50.0, 52.0], bkg_uncerts=[3.0, 7.0]\n+        ... )\n+        >>> observations = [51, 48]\n+        >>> data = observations + model.config.auxdata\n+        >>> poi_vals = np.linspace(0, 5, 41)\n+        >>> results = [\n+        ...     pyhf.infer.hypotest(test_poi, data, model, return_expected_set=True)\n+        ...     for test_poi in poi_vals\n+        ... ]\n+        >>> fig, ax = plt.subplots()\n+        >>> pyhf.contrib.viz.brazil.plot_results(ax, poi_vals, results)\n+\n+    Args:\n+        ax (`matplotlib.axes.Axes`): The matplotlib axis object to plot on.\n+        mutests (:obj:`list` or :obj:`array`): The values of the POI where the\n+          hypothesis tests were performed.\n+        tests (:obj:`list` or :obj:`array`): The :math:$\\\\mathrm{CL}_{s}$ values\n+          from the hypothesis tests.\n+        test_size (:obj:`float`): The size, :math:$\\alpha$, of the test.\n+    \"\"\"\n     cls_obs = np.array([test[0] for test in tests]).flatten()\n     cls_exp = [np.array([test[1][i] for test in tests]).flatten() for i in range(5)]\n     ax.plot(mutests, cls_obs, c='black')\n@@ -15,3 +45,6 @@\n     ax.fill_between(mutests, cls_exp[1], cls_exp[-2], facecolor='green')\n     ax.plot(mutests, [test_size] * len(mutests), c='red')\n     ax.set_ylim(0, 1)\n+\n+    ax.set_xlabel(r\"$\\mu$ (POI)\")\n+    ax.set_ylabel(r\"$\\mathrm{CL}_{s}$\")\n", "issue": "Add axis labels to pyhf.contrib.viz.brazil.plot_results\n# Description\r\n\r\nWe know that the axis labels for [`pyhf.contrib.viz.brazil.plot_results`](https://github.com/scikit-hep/pyhf/blob/28fdfe95a3a4846ba70a9a338b3f72a94eac1322/src/pyhf/contrib/viz/brazil.py#L5) are always going to be the same, so we should just add them on there as\r\n\r\n```python\r\nax.set_xlabel(r\"$\\mu$\")\r\nax.set_ylabel(r\"$\\mathrm{CL}_{s}$\")\r\n```\n", "before_files": [{"content": "\"\"\"Brazil Band Plots.\"\"\"\nimport numpy as np\n\n\ndef plot_results(ax, mutests, tests, test_size=0.05):\n    \"\"\"Plot a series of hypothesis tests for various POI values.\"\"\"\n    cls_obs = np.array([test[0] for test in tests]).flatten()\n    cls_exp = [np.array([test[1][i] for test in tests]).flatten() for i in range(5)]\n    ax.plot(mutests, cls_obs, c='black')\n    for idx, color in zip(range(5), 5 * ['black']):\n        ax.plot(\n            mutests, cls_exp[idx], c=color, linestyle='dotted' if idx != 2 else 'dashed'\n        )\n    ax.fill_between(mutests, cls_exp[0], cls_exp[-1], facecolor='yellow')\n    ax.fill_between(mutests, cls_exp[1], cls_exp[-2], facecolor='green')\n    ax.plot(mutests, [test_size] * len(mutests), c='red')\n    ax.set_ylim(0, 1)\n", "path": "src/pyhf/contrib/viz/brazil.py"}], "after_files": [{"content": "\"\"\"Brazil Band Plots.\"\"\"\nimport numpy as np\n\n\ndef plot_results(ax, mutests, tests, test_size=0.05):\n    \"\"\"\n    Plot a series of hypothesis tests for various POI values.\n\n    Example:\n\n        >>> import numpy as np\n        >>> import matplotlib.pyplot as plt\n        >>> import pyhf\n        >>> import pyhf.contrib.viz.brazil\n        >>> pyhf.set_backend(\"numpy\")\n        >>> model = pyhf.simplemodels.hepdata_like(\n        ...     signal_data=[12.0, 11.0], bkg_data=[50.0, 52.0], bkg_uncerts=[3.0, 7.0]\n        ... )\n        >>> observations = [51, 48]\n        >>> data = observations + model.config.auxdata\n        >>> poi_vals = np.linspace(0, 5, 41)\n        >>> results = [\n        ...     pyhf.infer.hypotest(test_poi, data, model, return_expected_set=True)\n        ...     for test_poi in poi_vals\n        ... ]\n        >>> fig, ax = plt.subplots()\n        >>> pyhf.contrib.viz.brazil.plot_results(ax, poi_vals, results)\n\n    Args:\n        ax (`matplotlib.axes.Axes`): The matplotlib axis object to plot on.\n        mutests (:obj:`list` or :obj:`array`): The values of the POI where the\n          hypothesis tests were performed.\n        tests (:obj:`list` or :obj:`array`): The :math:$\\\\mathrm{CL}_{s}$ values\n          from the hypothesis tests.\n        test_size (:obj:`float`): The size, :math:$\\alpha$, of the test.\n    \"\"\"\n    cls_obs = np.array([test[0] for test in tests]).flatten()\n    cls_exp = [np.array([test[1][i] for test in tests]).flatten() for i in range(5)]\n    ax.plot(mutests, cls_obs, c='black')\n    for idx, color in zip(range(5), 5 * ['black']):\n        ax.plot(\n            mutests, cls_exp[idx], c=color, linestyle='dotted' if idx != 2 else 'dashed'\n        )\n    ax.fill_between(mutests, cls_exp[0], cls_exp[-1], facecolor='yellow')\n    ax.fill_between(mutests, cls_exp[1], cls_exp[-2], facecolor='green')\n    ax.plot(mutests, [test_size] * len(mutests), c='red')\n    ax.set_ylim(0, 1)\n\n    ax.set_xlabel(r\"$\\mu$ (POI)\")\n    ax.set_ylabel(r\"$\\mathrm{CL}_{s}$\")\n", "path": "src/pyhf/contrib/viz/brazil.py"}]}