code: def _violinplot(val, shade, bw, ax, **kwargs_shade):
      
      density, low_b, up_b = _fast_kde(val, bw=bw)
      x = np.linspace(low_b, up_b, len(density))
  
      x = np.concatenate([x, x[::-1]])
      density = np.concatenate([-density, density[::-1]])
  
      ax.fill_betweenx(x, density, alpha=shade, lw=0, **kwargs_shade)
docs: Auxiliary function to plot violinplots.