code: def plot_single_aspects_importance(
      result_dataframe, order, rounding_function, digits, vcolors
  ):
      fig = go.Figure()
      _result = deepcopy(result_dataframe)
      sorter = dict(zip(order, range(len(order))))
      _result["order"] = _result["variable_names"].map(sorter)
      _result = _result.sort_values(
          ["order"], ascending=True
      ).reset_index(drop=True)
      _result = _result.drop("order", axis=1)
      _result.loc[:, "importance"] = rounding_function(
          _result.loc[:, "importance"], digits
      )
  
      _result["color"] = [
          0 if imp > 0 else 1 for imp in _result["importance"]
      ]
      _result["tooltip_text"] = _result.apply(
          tooltip_text_single, args=(rounding_function, digits), axis=1
      )
      _result["label_text"] = _global_utils.convert_float_to_str(
          _result.importance, "+"
      )
  
      if vcolors is None:
          vcolors = _theme.get_aspect_importance_colors()
  
      fig.add_shape(
          type="line",
          x0=0,
          x1=0,
          y0=-0.01,
          y1=1.01,
          yref="paper",
          xref="x",
          line={"color": "#371ea3", "width": 1.5, "dash": "dot"},
      )
  
      fig.add_bar(
          orientation="h",
          y=_result["variable_names"].tolist(),
          x=_result["importance"].tolist(),
          textposition="outside",
          text=_result["label_text"].tolist(),
          textfont_color=["#371ea3"] * len(order),
          marker_color=[
              vcolors[int(c)] for c in _result["color"].tolist()
          ],
          hovertext=_result["tooltip_text"].tolist(),
          hoverinfo="text",
          hoverlabel={"bgcolor": "rgba(0,0,0,0.8)"},
          showlegend=False,
      )
  
      fig.update_yaxes(
          {
              "type": "category",
              "autorange": "reversed",
              "gridwidth": 2,
              "automargin": True,
              "ticks": "outside",
              "tickcolor": "white",
              "ticklen": 10,
              "fixedrange": True,
          }
      )
  
      fig.update_xaxes(
          {
              "type": "linear",
              "gridwidth": 2,
              "zeroline": False,
              "automargin": True,
              "ticks": "outside",
              "tickcolor": "white",
              "ticklen": 3,
              "fixedrange": True,
          }
      )
  
      temp_min_max = [np.Inf, -np.Inf]
      min_max_margin = _result.importance.values.ptp() * 0.15
      temp_min_max[0] = np.min(
          [
              temp_min_max[0],
              _result.importance.values.min() - min_max_margin,
          ]
      )
      temp_min_max[1] = np.max(
          [
              temp_min_max[1],
              _result.importance.values.max() + min_max_margin,
          ]
      )
  
      fig.update_xaxes({"range": temp_min_max})
      fig.update_layout(
          title_x=0.15,
          font={"color": "#371ea3"},
          template="none",
          margin={"t": 78, "b": 71, "r": 30},
      )
  
      return fig
  
file_path: DALEX/python/dalex/dalex/aspect/_predict_triplot/plot.py
imports: import numpy
  import plotly.graph_objects
  from copy import deepcopy
  from dalex import _global_utils, _theme
  from .None import utils
label_desc: Use image node_id 6 for calling a global function with example usage: plot_single_aspects_importance(result_dataframe, order, rounding_function, digits, vcolors) and returns: fig