code: def _get_pareto_front_2d(info: _ParetoFrontInfo) -> "Axes":
      # Set up the graph style.
      plt.style.use(
          "ggplot"
      )  # Use ggplot style sheet for similar outputs to plotly.
      _, ax = plt.subplots()
      ax.set_title("Pareto-front Plot")
      cmap = plt.get_cmap(
          "tab10"
      )  # Use tab10 colormap for similar outputs to plotly.
  
      ax.set_xlabel(info.target_names[info.axis_order[0]])
      ax.set_ylabel(info.target_names[info.axis_order[1]])
  
      trial_label: str = "Trial"
      if len(info.infeasible_trials_with_values) > 0:
          ax.scatter(
              x=[
                  values[info.axis_order[0]]
                  for _, values in info.infeasible_trials_with_values
              ],
              y=[
                  values[info.axis_order[1]]
                  for _, values in info.infeasible_trials_with_values
              ],
              color="#cccccc",
              label="Infeasible Trial",
          )
          trial_label = "Feasible Trial"
      if len(info.non_best_trials_with_values) > 0:
          ax.scatter(
              x=[
                  values[info.axis_order[0]]
                  for _, values in info.non_best_trials_with_values
              ],
              y=[
                  values[info.axis_order[1]]
                  for _, values in info.non_best_trials_with_values
              ],
              color=cmap(0),
              label=trial_label,
          )
      if len(info.best_trials_with_values) > 0:
          ax.scatter(
              x=[
                  values[info.axis_order[0]]
                  for _, values in info.best_trials_with_values
              ],
              y=[
                  values[info.axis_order[1]]
                  for _, values in info.best_trials_with_values
              ],
              color=cmap(3),
              label="Best Trial",
          )
  
      if info.non_best_trials_with_values is not None and ax.has_data():
          ax.legend()
  
      return ax
  
file_path: optuna/optuna/visualization/matplotlib/_pareto_front.py
imports: from __future__ import annotations
  from typing import Callable
  from typing import Sequence
  from optuna._experimental import experimental_func
  from optuna.study import Study
  from optuna.trial import FrozenTrial
  from optuna.visualization._pareto_front import _get_pareto_front_info
  from optuna.visualization._pareto_front import _ParetoFrontInfo
  from optuna.visualization.matplotlib._matplotlib_imports import _imports
label_desc: Use image node_id 3 for calling a global function with example usage: _get_pareto_front_2d(info) and returns: ax