MakieOrg / Makie.jl

Interactive data visualizations and plotting in Julia
https://docs.makie.org/stable
MIT License
2.38k stars 302 forks source link

Request: Upset plot type #3052

Open tecosaur opened 1 year ago

tecosaur commented 1 year ago

Feature description

This is probably stretching the complexity of what Makie comes with OOTB, but if we can have a raincloud plot, it would be nice to have an upset plot too. These are used when you want to consider the overlaps between categories, and you have much too many things for a venn diagram.

Example image

Here's a nice example I found that labels all of the major aspects.

image

This has a bit of extra detail going on though, so here's an example of what I'd actually hope for a upset plot function to produce:

image

Suggested signature

I'd think the basic signature would make sense as something like this:

upsetplot(memberships::Vector{<:AbstractVector{Bool}}, counts::Vector{<:Real}; 
          color, marker, markersize, bar_labels, bar_color, ...)
jkrumbiegel commented 1 year ago

A starting point for an implementation could be this https://gist.github.com/jkrumbiegel/9ffcae3f6d1e2794939a8241a889499f

jkrumbiegel commented 1 year ago

but if we can have a raincloud plot

Also I wanted to add, the raincloud plot is very different from the other recipes we have (it even has its own interface for axis properties etc.) which I think was maybe not the best choice. So it might also make more sense for this to live in an external package