Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance hv.Distribution to natively support ridgeline plots #2375

Open
mansenfranzen opened this issue Feb 25, 2018 · 7 comments
Open

Enhance hv.Distribution to natively support ridgeline plots #2375

mansenfranzen opened this issue Feb 25, 2018 · 7 comments
Labels
type: feature A major new feature

Comments

@mansenfranzen
Copy link
Contributor

Proposal

Creating joyplots with Holoviews should not be too complicated using hv.Distribution with hv.Layout or hv.Overlay (or hv.NdOverlay). However, it would be great to abstract away the implementation within hv.Distribution.

joy_index
In the same way as hv.Bars has two variants via group_index and stack_index to distinguish groups of data, hv.Distribution could support an optional joy_index to distinguish different distributions. Using the joy_index option would automatically result in joy plots. color_index and cmap could be added for coloring different groups as in the referenced example above.

I think a group_index (or better overlay_index) could be also possible to simply overlay different distributions without distinguishing them vertically (as in joyplots) and without explicitly using overlays.


What is your opinion on this? I would be willing to give it a shot if you find this enhancement useful and appropriate. I took a quick look at the code and recognized the Compositor in combination with univariate_kde and Area. I have to get my head around the design here but it should be ok.

@philippjfr philippjfr added the type: feature A major new feature label Feb 25, 2018
@philippjfr
Copy link
Member

I would love to see joy plots too. Your suggestion of a joy_index seems reasonable although I would also consider a Ridgeline or Joy element where the key dimension is the joy_index and the value dimension the values to compute the kdes over. In general I think we want to move away from index options in favor of making the dimension explicit or express it using op transforms (#2152).

@mansenfranzen
Copy link
Contributor Author

I agree - creating a dedicated Joy element is more explicit. I prefer your suggested approach.

I'm going to rename this issue accordingly if you don't mind.

@droumis
Copy link
Member

droumis commented Jun 20, 2018

joy plot would be very useful. +1

@pollackscience
Copy link

I'd love to see native joyplot integration. I think there are many instances in which they are superior to violin and boxplots when one wants to visualize and compare a large number of distributions in a single glance.

@jbednar
Copy link
Member

jbednar commented Apr 16, 2019

It doesn't seem too difficult to add such a plot, given https://bokeh.pydata.org/en/latest/docs/gallery/ridgeplot.html ; PRs welcome!

But note that to keep the library neutral, it should be called Ridgeline and not Joy...

@kitaev-chen
Copy link

any update here? I got this one
https://github.com/leotac/joypy/blob/master/Joyplot.ipynb

but I need to draw many ridgeline subplots with the help such as hv.Layout function ...

@jbednar jbednar changed the title Enhance hv.Distribution to natively support joyplots Enhance hv.Distribution to natively support ridgeline plots Nov 18, 2021
@jbednar
Copy link
Member

jbednar commented Nov 18, 2021

I haven't seen anyone submitting such a PR yet, no; still worth doing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature A major new feature
Projects
None yet
Development

No branches or pull requests

6 participants