A violin plot is an alternative to the more usual boxplot, especially interesting with large dataset where boxplot could hide a part of the information. Here is a simple implementation in d3.js using kernel density estimate.
d3.histogram()
function.padding
argument of the x axis to control space between violin.