visdesignlab / upset2

UpSet - Visualizing Intersecting Sets
https://upset.multinet.app/
BSD 3-Clause "New" or "Revised" License
41 stars 7 forks source link

Additional attribute plot types (dot, strip, density) #366

Open JakeWags opened 3 weeks ago

JakeWags commented 3 weeks ago

Does this PR close any open issues?

Closes #249

Give a longer description of what this PR addresses and why it's needed

This PR adds the ability to change the plot displayed in the attribute columns for a given attribute.

The options are: Box Plot, Strip Plot, Dot Plot

Question: For dot plots, should jitter be introduced? As is, there is not jitter and so these behave very similarly to the strip plot option. See photo in comments for jitter example.

Provide pictures/videos of the behavior before and after these changes (optional)

Example of dot plot, strip plot, and box plot on three different attributes: image

Have you added or updated relevant tests?

Have you added or updated relevant documentation?

Are there any additional TODOs before this PR is ready to go?

No

netlify[bot] commented 3 weeks ago

Deploy Preview for upset2 ready!

Name Link
Latest commit d6a230d77545b992abb6714fff43c07d2222d77c
Latest deploy log https://app.netlify.com/sites/upset2/deploys/66a2c326ba58b00008819d16
Deploy Preview https://deploy-preview-366--upset2.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

JakeWags commented 2 weeks ago

Added jitter for dot plots in https://github.com/visdesignlab/upset2/pull/366/commits/94a7205ddcbf4f6aeb092dbe9f6425c35d6f0edb note that rows under or equal to size 5 will have no jitter.

Jitter is seeded based on row size and dot index. This ensures that re-renders do not trigger any jitter updates. This makes the jitter consistent for a row, no matter the context, addressing one of my main gripes about jitter in dot plots.

image

JakeWags commented 1 week ago

image Density Plot example: