Ridgeline/Joy Plots in Dash (Automatic)


My team and I have created an interactive data visualization that allows users to toggle between multiple representations of univariate continuous data. Visit https://datavis-demo.herokuapp.com/ wait a minute for the server to load, and then click Submit. Click on Histogram then any one of the variables on the right-hand side. Next, click on Density Plot and then any one of the variables on the right-hand side. We’ve found that multiple histograms and density plots in one window decreases graph comprehension, so we’d like to automatically create ridgeline/joy plots like these


Is this doable with Dash?


It should be! See cell 11 here: https://plot.ly/python/subplots/. The difference would be that you would need to turn off the grid lines and you’d need to overlap the yaxis domains.


Thanks, we’ll try that!


I think this should be possible with the violin trace type without subplots…


Elegant solution to split the violin in half. We’ll try it out and see what happens. Hopefully it’s a simple tweak. We already tried the long way…


We recently tried this and it seems that while the half violin plots kind of work as ridgeline density plots, they are too small.


@msdl One year ago I experimented the joyplot: https://plot.ly/~empet/14632.
As I can remember, initially I tried to plot each pdf estimation in a subplot, but I didn’t like its appearance.
Instead I translated each kde (kernel density estimation) vertically, such that to ensure an overlap with the previous and the next one.


I think your plot is closest to conventional ridgeline density plots. Thanks for the tip; we’ll try it out and see. Hopefully, it generalize to the histograms as well.

Density Plots - Smoother, More Conventional Tails