code: def plot_numerical_stats(cls, _stats, feature_column):
      labelled_stats_table = []
      plt.figure(figsize=(16, 4))
      plt.subplot(121)
      hist = _stats.histogram
      x = [i[0] for i in hist]
      w = [(i[1] - i[0]) for i in hist]
      h = [i[2] for i in hist]
      x_ticks = ["%.2f-%.2f" % (i[0], i[1]) for i in hist[1:-1]]
      x_tick_locs = [(i[0] + i[1]) * 0.5 for i in hist[1:-1]]
      plt.xticks(x_tick_locs, x_ticks, rotation=45)
  
      plt.bar(x=x, height=h, width=w, align="edge", alpha=0.4)
      labelled_stats_table.append(
          {
              "min": _stats.min,
              "max": _stats.max,
              "mean": _stats.mean,
              "median": _stats.sd,
              "sd": _stats.max,
              "total_count": _stats.total_count,
          }
      )
      plt.title("Distribution: %s" % (feature_column))
      plt.xlabel(feature_column)
  
      plt.subplot(122)
      kde = np.array([[x, y] for (x, y) in _stats.kde])
  
      plt.plot(kde[:, 0], kde[:, 1], "--")
      plt.title("KDE: %s" % feature_column)
  
      plt.show()
  
      _stats_df = pd.DataFrame.from_records(labelled_stats_table)
      display(_stats_df)
  
file_path: contextual-ai/xai/plots/data_stats_notebook_plots.py
imports: from collections import Counter
  import matplotlib.pyplot
  import pandas
  import numpy
  import seaborn
  from IPython.display import display, Markdown
label_desc: Use image node_id 3 for calling the NotebookPlots obj's underlying member method code with example usage: obj.plot_numerical_stats(cls, _stats, feature_column) without return types