code: def plot_pareto_front(
      study: MultiObjectiveStudy,
      names: Optional[List[str]] = None,
      include_dominated_trials: bool = False,
      axis_order: Optional[List[int]] = None,
  ) -> "go.Figure":
      """Plot the pareto front of a study.
  
      Example:
  
          The following code snippet shows how to plot the pareto front of a study.
  
          .. plotly::
  
              import optuna
  
  
              def objective(trial):
                  x = trial.suggest_float("x", 0, 5)
                  y = trial.suggest_float("y", 0, 3)
  
                  v0 = 4 * x ** 2 + 4 * y ** 2
                  v1 = (x - 5) ** 2 + (y - 5) ** 2
                  return v0, v1
  
  
              study = optuna.multi_objective.create_study(["minimize", "minimize"])
              study.optimize(objective, n_trials=50)
  
              fig = optuna.multi_objective.visualization.plot_pareto_front(study)
              fig.show()
  
      Args:
          study:
              A :class:`~optuna.multi_objective.study.MultiObjectiveStudy` object whose trials
              are plotted for their objective values. ``study.n_objectives`` must be eigher 2 or 3.
          names:
              Objective name list used as the axis titles. If :obj:`None` is specified,
              "Objective {objective_index}" is used instead.
          include_dominated_trials:
              A flag to include all dominated trial's objective values.
          axis_order:
              A list of indices indicating the axis order. If :obj:`None` is specified,
              default order is used.
  
  
      Returns:
          A :class:`plotly.graph_objs.Figure` object.
  
      """
  
      _imports.check()
  
      if study.n_objectives == 2:
          return _get_pareto_front_2d(
              study, names, include_dominated_trials, axis_order
          )
      elif study.n_objectives == 3:
          return _get_pareto_front_3d(
              study, names, include_dominated_trials, axis_order
          )
      else:
          raise ValueError(
              "`plot_pareto_front` function only supports 2 or 3 objective studies."
          )
  
file_path: optuna/optuna/multi_objective/visualization/_pareto_front.py
imports: import json
  from typing import List
  from typing import Optional
  import optuna
  from optuna import multi_objective
  from optuna._deprecated import deprecated_func
  from optuna.multi_objective.study import MultiObjectiveStudy
  from optuna.multi_objective.trial import FrozenMultiObjectiveTrial
  from optuna.trial import TrialState
  from optuna.visualization._plotly_imports import _imports
label_desc: Use image node_id 1 for calling a global function with example usage: plot_pareto_front(study, names, include_dominated_trials, axis_order) and returns: _get_pareto_front_2d, _get_pareto_front_3d