code: def _seaborn_viz_numeric(
      data,
      x: str,
      contrast: Optional[str] = None,
      mode: str = "combo",
      hist_kwargs: Optional[dict] = None,
      violin_kwargs: Optional[dict] = None,
      **kwargs,
  ):
      """Plots a histogram/violin plot.
  
      Args:
          data (DataFrame): The data
          x (str): The name of the column to plot
          contrast (str, optional): The name of the categorical column to use for multiple contrasts.
          mode (str): {'combo', 'violin', 'hist'} The type of plot to display.
              Defaults to a combined histogram/violin plot.
          hist_kwargs (dict, optional): Keyword args for seaborn.histplot.
          violin_kwargs (dict, optional): Keyword args for seaborn.violinplot.
          **kwargs: Keyword args to be passed to all underlying plotting functions.
  
      Raises:
          ValueError: Unknown plot mode.
  
      Returns:
          Matplotlib figure
      """
      hist_kwargs = hist_kwargs or {}
      violin_kwargs = violin_kwargs or {}
      fig = Figure(
          figsize=(
              get_option("display.matplotlib.fig_width"),
              get_option("display.matplotlib.fig_height"),
          )
      )
      if mode == "combo":
          gs = GridSpec(nrows=5, ncols=1)
          ax1 = fig.add_subplot(gs.new_subplotspec((0, 0), 1, 1))
          ax2 = fig.add_subplot(gs.new_subplotspec((1, 0), 4, 1))
  
          ax1.spines["right"].set_visible(False)
          ax1.spines["top"].set_visible(False)
          _seaborn_viz_histogram(
              data, x, contrast, ax=ax1, **hist_kwargs
          )
          _seaborn_viz_violin(
              data, x, contrast, ax=ax2, **violin_kwargs
          )
          ax1.set_title(x)
          return fig
      elif mode == "hist":
          ax = fig.add_subplot()
          _seaborn_viz_histogram(
              data, x, contrast=contrast, ax=ax, **hist_kwargs, **kwargs
          )
          ax.set_title(x)
          return fig
      elif mode == "violin":
          ax = fig.add_subplot()
          _seaborn_viz_violin(
              data,
              x,
              contrast=contrast,
              ax=ax,
              **violin_kwargs,
              **kwargs,
          )
          ax.set_title(x)
          return fig
      else:
          raise ValueError("Unknown value for 'mode' plot type")
  
imports: from typing import Dict, Any, Optional
  from matplotlib.figure import Figure
  from matplotlib.gridspec import GridSpec
  import seaborn
  import numpy
  from data_describe.config._config import get_option
  from data_describe.metrics.univariate import spikey, skewed
  from data_describe._widget import BaseWidget
  from data_describe.compat import _is_dataframe
  from data_describe.backends import _get_viz_backend, _get_compute_backend
label_desc: Use image node_id 4 for calling a global function with example usage: _seaborn_viz_numeric(data, x, contrast, mode, hist_kwargs, violin_kwargs) and returns: fig, fig, fig