code: def _precision_recall(y_true, y_score, ax=None):
      """
      Plot precision-recall curve.
  
      Parameters
      ----------
      y_true : array-like, shape = [n_samples]
          Correct target values (ground truth).
      y_score : array-like, shape = [n_samples]
          Target scores (estimator predictions).
      ax : matplotlib Axes
          Axes object to draw the plot onto, otherwise uses current Axes
  
      Returns
      -------
      ax: matplotlib Axes
          Axes containing the plot
  
      """
      precision, recall, _ = precision_recall_curve(y_true, y_score)
      average_precision = average_precision_score(y_true, y_score)
  
      if ax is None:
          ax = plt.gca()
  
      ax.plot(
          recall,
          precision,
          label=(
              "Precision-Recall curve: AUC={0:0.2f}".format(
                  average_precision
              )
          ),
      )
      _set_ax_settings(ax)
      return ax
  
file_path: sklearn-evaluation/src/sklearn_evaluation/plot/precision_recall.py
imports: import numpy
  import matplotlib.pyplot
  from sklearn.metrics import precision_recall_curve, average_precision_score
  from sklearn.preprocessing import label_binarize
  from ..telemetry import SKLearnEvaluationLogger
  from ..util import is_column_vector, is_row_vector
  from ploomber_core.exceptions import modify_exceptions
label_desc: Use image node_id 2 for calling a global function with example usage: _precision_recall(y_true, y_score, ax) and returns: ax