code: def plot_roc_curve(
      fpr,
      tpr,
      thresholds=None,
      roc_auc=None,
      backend="plotly",
      **kwargs,
  ):
      """Plots a receiver operating characteristic (ROC) curve.
  
      Args:
          fpr: an array-like of false postive rates
          tpr: an array-like of true postive rates
          thresholds (None): an array-like of decision thresholds
          roc_auc (None): the area under the ROC curve
          backend ("plotly"): the plotting backend to use. Supported values are
              ``("plotly", "matplotlib")``
          **kwargs: keyword arguments for the backend plotting method:
  
              -   "plotly" backend: :meth:`fiftyone.core.plots.plotly.plot_roc_curve`
              -   "matplotlib" backend: :meth:`fiftyone.core.plots.matplotlib.plot_roc_curve`
  
      Returns:
          one of the following
  
          -   a :class:`fiftyone.core.plots.plotly.PlotlyNotebookPlot`, if you
              are working in a Jupyter notebook and the plotly backend is used
          -   a plotly or matplotlib figure, otherwise
      """
      backend = _parse_backend(backend)
  
      if backend == "matplotlib":
          from .matplotlib import plot_roc_curve as _plot_roc_curve
  
          if thresholds is not None:
              logger.warning(
                  "Ignoring unsupported argument `thresholds` for the "
                  "'matplotlib' backend"
              )
      else:
          from .plotly import plot_roc_curve as _plot_roc_curve
  
          kwargs.update(dict(thresholds=thresholds))
  
      return _plot_roc_curve(fpr, tpr, roc_auc=roc_auc, **kwargs)
  
imports: import logging
  import fiftyone.core.context
  import fiftyone.core.labels
  import fiftyone.core.patches
  import fiftyone.core.video
label_desc: Use image node_id 5 for calling a global function with example usage: plot_roc_curve(fpr, tpr, thresholds, roc_auc, backend) and returns: _plot_roc_curve