class_docstr: Container for distributions.
  
  This class (object) is returned from the ``distribution`` function. The
  attributes documented below can be accessed or extracted.
  
  Attributes:
      input_data: The input data
      spike_value: Measure of the "spikey"ness metric, which diagnoses spikey
          histograms where the tallest bin is ``n`` times taller than the average bin.
      skew_value: Measure of the skewness metric.
      spike_factor: The threshold factor used to diagnose "spikey"ness.
      skew_factor: The threshold factor used to diagnose skew.
docstr: Generate distribution plot(s).
  
  Numeric features will be visualized using a histogram/violin plot, and any other
  types will be visualized using a categorical bar plot.
  
  Args:
      x (str, optional): The feature name to plot. If None, will plot all features.
      contrast (str, optional): The feature name to compare histograms by contrast.
      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.
      viz_backend (optional): The visualization backend.
      **kwargs: Additional keyword arguments for the visualization backend.
  
  Returns:
      Histogram plot(s).
docstr_tok: ["Generate","distribution","plot","(","s",")",".","Numeric","features","will","be","visualized","using","a","histogram\/violin","plot",",","and","any","other","types","will","be","visualized","using","a","categorical","bar","plot",".","Args",":","x","(","str",",","optional",")",":","The","feature","name","to","plot",".","If","None",",","will","plot","all","features",".","contrast","(","str",",","optional",")",":","The","feature","name","to","compare","histograms","by","contrast",".","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",".","viz_backend","(","optional",")",":","The","visualization","backend",".","*","*","kwargs",":","Additional","keyword","arguments","for","the","visualization","backend",".","Returns",":","Histogram","plot","(","s",")","."]
code: def plot_distribution(
      self,
      x: Optional[str] = None,
      contrast: Optional[str] = None,
      viz_backend: Optional[str] = None,
      **kwargs,
  ):
      """Generate distribution plot(s).
  
      Numeric features will be visualized using a histogram/violin plot, and any other
      types will be visualized using a categorical bar plot.
  
      Args:
          x (str, optional): The feature name to plot. If None, will plot all features.
          contrast (str, optional): The feature name to compare histograms by contrast.
          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.
          viz_backend (optional): The visualization backend.
          **kwargs: Additional keyword arguments for the visualization backend.
  
      Returns:
          Histogram plot(s).
      """
      backend = viz_backend or self.viz_backend
  
      return _get_viz_backend(backend).viz_distribution(
          data=self.input_data, x=x, contrast=contrast, **kwargs
      )
  
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 3 for calling the DistributionWidget obj's underlying member method code with example usage: obj.plot_distribution(x, contrast, viz_backend) and returns: _get_viz_backend