code: def cat_hist(val, shade, ax, **kwargs_shade):
      
      bins = get_bins(val)
      binned_d, _ = np.histogram(val, bins=bins, normed=True)
  
      bin_edges = np.linspace(np.min(val), np.max(val), len(bins))
      centers = 0.5 * (bin_edges + np.roll(bin_edges, 1))[:-1]
      heights = np.diff(bin_edges)
  
      lefts = -0.5 * binned_d
      ax.barh(centers, binned_d, height=heights, left=lefts, alpha=shade, **kwargs_shade)
docs: Auxiliary function to plot discrete-violinplots.