code: def _get_importances_plot(
      infos: tuple[_ImportancesInfo, ...]
  ) -> "Axes":
      # Set up the graph style.
      plt.style.use(
          "ggplot"
      )  # Use ggplot style sheet for similar outputs to plotly.
      fig, ax = plt.subplots()
      ax.set_title("Hyperparameter Importances", loc="left")
      ax.set_xlabel("Hyperparameter Importance")
      ax.set_ylabel("Hyperparameter")
      height = 0.8 / len(
          infos
      )  # Default height split between objectives.
  
      for objective_id, info in enumerate(infos):
          param_names = info.param_names
          pos = np.arange(len(param_names))
          offset = height * objective_id
          importance_values = info.importance_values
  
          if not importance_values:
              continue
  
          # Draw horizontal bars.
          ax.barh(
              pos + offset,
              importance_values,
              height=height,
              align="center",
              label=info.target_name,
              color=plt.get_cmap("tab20c")(objective_id),
          )
  
          _set_bar_labels(info, fig, ax, offset)
          ax.set_yticks(pos + offset / 2, param_names)
  
      ax.legend(loc="best")
      return ax
  
file_path: optuna/optuna/visualization/matplotlib/_param_importances.py
imports: from __future__ import annotations
  from typing import Callable
  import numpy
  from optuna._experimental import experimental_func
  from optuna.importance._base import BaseImportanceEvaluator
  from optuna.logging import get_logger
  from optuna.study import Study
  from optuna.trial import FrozenTrial
  from optuna.visualization._param_importances import _get_importances_infos
  from optuna.visualization._param_importances import _ImportancesInfo
  from optuna.visualization.matplotlib._matplotlib_imports import _imports
label_desc: Use image node_id 2 for calling a global function with example usage: _get_importances_plot(infos) and returns: ax