Ridgeline/Joy Plots in Dash (Automatic)


#1

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

https://www.data-to-viz.com/graph/ridgeline.html

Is this doable with Dash?


#2

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.


#3

Thanks, we’ll try that!


#4

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


#5

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…


#6

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


#7

@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.


#8

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