code: def plot_optimization_history(
      study: Study | Sequence[Study],
      *,
      target: Callable[[FrozenTrial], float] | None = None,
      target_name: str = "Objective Value",
      error_bar: bool = False,
  ) -> "go.Figure":
      """Plot optimization history of all trials in a study.
  
      Example:
  
          The following code snippet shows how to plot optimization history.
  
          .. plotly::
  
              import optuna
  
  
              def objective(trial):
                  x = trial.suggest_float("x", -100, 100)
                  y = trial.suggest_categorical("y", [-1, 0, 1])
                  return x ** 2 + y
  
  
              sampler = optuna.samplers.TPESampler(seed=10)
              study = optuna.create_study(sampler=sampler)
              study.optimize(objective, n_trials=10)
  
              fig = optuna.visualization.plot_optimization_history(study)
              fig.show()
  
      Args:
          study:
              A :class:`~optuna.study.Study` object whose trials are plotted for their target values.
              You can pass multiple studies if you want to compare those optimization histories.
          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.
  
              .. note::
                  Specify this argument if ``study`` is being used for multi-objective optimization.
          target_name:
              Target's name to display on the axis label and the legend.
          error_bar:
              A flag to show the error bar.
  
      Returns:
          A :class:`plotly.graph_objs.Figure` object.
      """
  
      _imports.check()
  
      info_list = _get_optimization_history_info_list(
          study, target, target_name, error_bar
      )
      return _get_optimization_history_plot(info_list, target_name)
  
imports: from __future__ import annotations
  from collections.abc import Callable
  from collections.abc import Sequence
  from enum import Enum
  import math
  from typing import cast
  from typing import NamedTuple
  import numpy
  from optuna.logging import get_logger
  from optuna.samplers._base import _CONSTRAINTS_KEY
  from optuna.study import Study
  from optuna.study._study_direction import StudyDirection
  from optuna.trial import FrozenTrial
  from optuna.trial import TrialState
  from optuna.visualization._plotly_imports import _imports
  from optuna.visualization._utils import _check_plot_args
label_desc: Use image node_id 2 for calling a global function with example usage: plot_optimization_history(study) and returns: _get_optimization_history_plot