code: def _seaborn_viz_scatter_plot(
      data, mode, sample, diagnostics, threshold, **kwargs
  ):
      """Scatter plots.
  
      Args:
          data: A Pandas data frame
          mode: {'diagnostic', 'matrix', 'all'} The visualization mode.
              **diagnostic**: Plots selected by scagnostics (scatter plot diagnostics)
              **matrix**: Generate the full scatter plot matrix
              **all**: Generate all individual scatter plots
          sample: The sampling method to use. Currently not used.
          diagnostics: The computed scatterplot diagnostics.
          threshold: The scatter plot diagnostic threshold value [0,1] for returning a
              plot. Only used with "diagnostic" mode. For example, ``{"Outlying": 0.9} ``
              returns plots with outlier metrics above 0.9. See
              ``pyscagnostics.measure_names`` for a list of metrics.
              **If a number**: Returns all plots where at least one metric is above this threshold
              **If a dictionary**: Returns plots where the metric is above its threshold.
          compute_backend: The compute backend
          viz_backend: The vizualization backend
          **kwargs: Passed to the visualization framework
  
      Raises:
          ValueError: Invalid input data type.
  
      Returns:
          Seaborn plot.
      """
      if mode == "matrix":
          fig = sns.pairplot(data)
          return fig
      elif mode == "all":
          col_pairs = combinations(data.columns, 2)
          fig = []
          for p in col_pairs:
              fig.append(_scatter_plot(data, p[0], p[1], **kwargs))
          return fig
      elif mode == "diagnostic":
          if threshold is not None:
              diagnostics = _filter_threshold(diagnostics, threshold)
  
          if len(diagnostics) == 0:
              warnings.warn("No plots identified by diagnostics")
  
          fig = []
          for d in diagnostics:
              fig.append(_scatter_plot(data, d[0], d[1], **kwargs))
  
          return fig
      else:
          raise ValueError(f"Unknown plot mode: {mode}")
  
file_path: data-describe/data_describe/core/scatter.py
imports: from itertools import combinations
  import warnings
  import seaborn
  from data_describe._widget import BaseWidget
  from data_describe.config._config import get_option
  from data_describe.compat import _is_dataframe, _requires, _compat
  from data_describe.backends import _get_compute_backend, _get_viz_backend
label_desc: Use image node_id 4 for calling a global function with example usage: _seaborn_viz_scatter_plot(data, mode, sample, diagnostics, threshold) and returns: fig, fig, fig