code: def plot_param_importances(
      study: Study,
      evaluator: BaseImportanceEvaluator | None = None,
      params: list[str] | None = None,
      *,
      target: Callable[[FrozenTrial], float] | None = None,
      target_name: str = "Objective Value",
  ) -> "Axes":
      """Plot hyperparameter importances with Matplotlib.
  
      .. seealso::
          Please refer to :func:`optuna.visualization.plot_param_importances` for an example.
  
      Example:
  
          The following code snippet shows how to plot hyperparameter importances.
  
          .. plot::
  
              import optuna
  
  
              def objective(trial):
                  x = trial.suggest_int("x", 0, 2)
                  y = trial.suggest_float("y", -1.0, 1.0)
                  z = trial.suggest_float("z", 0.0, 1.5)
                  return x ** 2 + y ** 3 - z ** 4
  
  
              sampler = optuna.samplers.RandomSampler(seed=10)
              study = optuna.create_study(sampler=sampler)
              study.optimize(objective, n_trials=100)
  
              optuna.visualization.matplotlib.plot_param_importances(study)
  
      Args:
          study:
              An optimized study.
          evaluator:
              An importance evaluator object that specifies which algorithm to base the importance
              assessment on.
              Defaults to
              :class:`~optuna.importance.FanovaImportanceEvaluator`.
          params:
              A list of names of parameters to assess.
              If :obj:`None`, all parameters that are present in all of the completed trials are
              assessed.
          target:
              A function to specify the value to display. If it is :obj:`None` and ``study`` is being
              used for single-objective optimization, the objective values are plotted.
              For multi-objective optimization, all objectives will be plotted if ``target``
              is :obj:`None`.
  
              .. note::
                  This argument can be used to specify which objective to plot if ``study`` is being
                  used for multi-objective optimization. For example, to get only the hyperparameter
                  importance of the first objective, use ``target=lambda t: t.values[0]`` for the
                  target parameter.
          target_name:
              Target's name to display on the axis label. Names set via
              :meth:`~optuna.study.Study.set_metric_names` will be used if ``target`` is :obj:`None`,
              overriding this argument.
  
      Returns:
          A :class:`matplotlib.axes.Axes` object.
      """
  
      _imports.check()
      importances_infos = _get_importances_infos(
          study, evaluator, params, target, target_name
      )
      return _get_importances_plot(importances_infos)
  
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 1 for calling a global function with example usage: plot_param_importances(study, evaluator, params) and returns: _get_importances_plot