code: def scatter_plot_with_pareto_frontier(
      Y: np.ndarray,
      Y_pareto: np.ndarray,
      metric_x: str,
      metric_y: str,
      reference_point: Tuple[float, float],
      minimize: bool = True,
  ) -> AxPlotConfig:
      return AxPlotConfig(
          data=scatter_plot_with_pareto_frontier_plotly(
              Y=Y,
              Y_pareto=Y_pareto,
              metric_x=metric_x,
              metric_y=metric_y,
              reference_point=reference_point,
          ),
          plot_type=AxPlotTypes.GENERIC,
      )
  
imports: import warnings
  from typing import Dict, Iterable, List, Optional, Tuple, Union
  import numpy
  import pandas
  import plotly.graph_objs
  from ax.core.experiment import Experiment
  from ax.core.objective import MultiObjective
  from ax.core.optimization_config import MultiObjectiveOptimizationConfig, OptimizationConfig
  from ax.core.outcome_constraint import ObjectiveThreshold
  from ax.exceptions.core import UserInputError
  from ax.plot.base import AxPlotConfig, AxPlotTypes, CI_OPACITY, DECIMALS
  from ax.plot.color import COLORS, DISCRETE_COLOR_SCALE, rgba
  from ax.plot.helper import _format_CI, _format_dict, extend_range
  from ax.plot.pareto_utils import ParetoFrontierResults
  from ax.service.utils.best_point_mixin import BestPointMixin
  from ax.utils.common.typeutils import checked_cast, not_none
  from plotly import express
  from scipy.stats import norm
label_desc: Use image node_id 5 for calling a global function with example usage: scatter_plot_with_pareto_frontier(Y, Y_pareto, metric_x, metric_y, reference_point, minimize) and returns: AxPlotConfig