code: def horizontal_bar_plot(ax, Si, opts=None, sortby="mu_star", unit=""):
      """Updates a matplotlib axes instance with a horizontal bar plot
      of mu_star, with error bars representing mu_star_conf.
      """
      assert sortby in ["mu_star", "mu_star_conf", "sigma", "mu"]
  
      if opts is None:
          opts = {}
  
      # Sort all the plotted elements by mu_star (or optionally another
      # metric)
      names_sorted = _sort_Si(Si, "names", sortby)
      mu_star_sorted = _sort_Si(Si, "mu_star", sortby)
      mu_star_conf_sorted = _sort_Si(Si, "mu_star_conf", sortby)
  
      # Plot horizontal barchart
      y_pos = np.arange(len(mu_star_sorted))
      plot_names = names_sorted
  
      out = ax.barh(
          y_pos,
          mu_star_sorted,
          xerr=mu_star_conf_sorted,
          align="center",
          ecolor="black",
          **opts,
      )
  
      ax.set_yticks(y_pos)
      ax.set_yticklabels(plot_names)
      ax.set_xlabel(r"$\mu^\star$" + unit)
  
      ax.set_ylim(min(y_pos) - 1, max(y_pos) + 1)
  
      return out
  
imports: import numpy
label_desc: Use image node_id 3 for calling a global function with example usage: horizontal_bar_plot(ax, Si, opts, sortby, unit) and returns: out