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.