code: def plot_feature_importance_plotly(
      df: pd.DataFrame, title: str
  ) -> go.Figure:
      if df.empty:
          raise NoDataError("No Data on Feature Importances found.")
      df.set_index(df.columns[0], inplace=True)
      data = [
          go.Bar(
              y=df.index,
              x=df[column_name],
              name=column_name,
              orientation="h",
          )
          for column_name in df.columns
      ]
      fig = subplots.make_subplots(
          rows=len(df.columns),
          cols=1,
          subplot_titles=df.columns,
          print_grid=False,
          shared_xaxes=True,
      )
  
      for idx, item in enumerate(data):
          fig.append_trace(item, idx + 1, 1)  # pyre-ignore[16]
      fig.layout.showlegend = False
      fig.layout.margin = go.layout.Margin(
          l=8 * min(max(len(idx) for idx in df.index), 75)  # noqa E741
      )
      fig.layout.title = title
      return fig
  
file_path: Ax/ax/plot/feature_importances.py
imports: from logging import Logger
  from typing import Any, Dict, Optional, Union
  import numpy
  import pandas
  import plotly.graph_objs
  from ax.exceptions.core import NoDataError
  from ax.modelbridge import ModelBridge
  from ax.plot.base import AxPlotConfig, AxPlotTypes
  from ax.plot.helper import compose_annotation
  from ax.utils.common.logger import get_logger
  from plotly import subplots
label_desc: Use image node_id 1 for calling a global function with example usage: plot_feature_importance_plotly(df, title) and returns: fig