code: def mli_plot_horizontal_bar(
      scores,
      names,
      values=None,
      perf=None,
      intercept=None,
      title="",
      xtitle="",
      ytitle="",
      start_zero=False,
  ):
      if values is not None:
          names = _names_with_values(names, values)
  
      # title = "🔴 🔵<br>Predicted {0:.2f} | Actual {1:.2f}".format(
      if perf is not None and title == "":
          title_items = []
          title_items.append(
              "Predicted {0:.2f}".format(perf["predicted"])
          )
          title_items.append("Actual {0:.2f}".format(perf["actual"]))
          title = " | ".join(title_items)
  
      color = [
          COLORS[0] if value <= 0 else COLORS[1] for value in scores
      ]
  
      if intercept is not None:
          scores.append(intercept)
          names.append("Intercept")
          color.append(COLORS[2])
  
      x = scores
      y = names
      trace = go.Bar(
          x=x, y=y, orientation="h", marker=dict(color=color)
      )
  
      if start_zero:
          x_range = [0, max(x)]
      else:
          max_abs_x = max(np.abs(x))
          x_range = [-max_abs_x, max_abs_x]
  
      layout = dict(
          title=title,
          yaxis=dict(automargin=True, title=ytitle),
          xaxis=dict(range=x_range, title=xtitle),
      )
  
      figure = go.Figure(data=[trace], layout=layout)
  
      return figure
  
imports: import plotly.graph_objs
  import numpy
  from plotly import subplots
  import matplotlib.pyplot
  from numbers import Number
  import logging
label_desc: Use image node_id 14 for calling a global function with example usage: mli_plot_horizontal_bar(scores, names, values, perf, intercept, title, xtitle, ytitle, start_zero) and returns: figure