code: def plot_heatmap(
      fobject,
      other_objects=None,
      metrics="all",
      title=None,
      verbose=True,
      **kwargs,
  ):
      if metrics == "all":
          metrics = list(fobject.parity_loss.index)
  
      data = utils._unwrap_parity_loss_data(
          fobject, other_objects, metrics, verbose=verbose
      )
      score_data = data.score.values.reshape(
          len(data.label.unique()), len(data.metric.unique())
      )
  
      fig = px.imshow(
          score_data,
          labels=dict(
              x="parity loss metrics",
              y="model",
              color="Metric's parity loss",
          ),
          x=list(data.metric.unique()),
          y=list(data.label.unique()),
          color_continuous_scale=[
              "#c7f5bf",
              "#8bdcbe",
              "#46bac2",
              "#4378bf",
              "#371ea3",
          ],
      )
  
      if title is None:
          title = "Fairness Heatmap"
      fig.update_layout(utils._fairness_theme(title))
  
      fig.update_traces(
          hovertemplate="<br>".join(
              [
                  "<b>%{y}</b><br>",
                  "Parity loss metric: %{x}",
                  "parity loss: %{z:.3f}",
                  "<extra></extra>",
              ]
          )
      )
  
      return fig
  
imports: import numpy
  import pandas
  import plotly.express
  import plotly.graph_objects
  from plotly.subplots import make_subplots
  from .None import checks
  from .None import utils
  from .._basics import checks
  from .._basics.exceptions import ParameterCheckError
  from ...None import _theme
  from ..._explainer import helper
label_desc: Use image node_id 8 for calling a global function with example usage: plot_heatmap(fobject, other_objects, metrics, title, verbose) and returns: fig