✊🏿 Black Lives Matter. Please consider donating to Black Girls Code today.
⚾️ It's finally Baseball season! Root for the home team... & Register for our Sports Analytics Webinar!

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.

1 Like

Thanks, we’ll try that!

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

1 Like

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…

1 Like

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.

2 Likes

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.