
Bee swarm plots?

mtaylor
I'd like to make some beeswarm plots that overlay dense data so that the distribution is easily inferred. Each vertical cluster of points has the same x value so it is impossible to see the density of measurements
I made a small function to randomly jitter the data's x-coordinates, which helps a little but I'd like to try something like a beeswarm plot.
I know violin plots and box plots are built in to Igor... is there a way to leverage that package to do this? I haven't dissected the source code but would appreciate any insight.
screenshots seem to have broken. Files attached here.
[1] https://stackoverflow.com/questions/63138870/jitter-according-to-density
June 13, 2025 at 01:46 am - Permalink
The Violin and Box Plot capability in Igor does this. AFAIK there are two other options to do something like `geom_beeswarm` (or my preferred `geom_sina` from `{ggforce}` in R) in Igor.
1. The package scatter dot plot Windows > New > Packages > Scatter Dot Plot provides the capability to jitter points by density. This package was somewhat superseded by the in-built violin and box plot capability.
2. I wrote something to make SuperPlot style plots in Igor, which does something close to what you want. It's meant for categories on the x-axis but could be adapted for your needs. https://github.com/quantixed/SuperPlot It might be easier to look at this code and take what you need rather than pick through the in-built Igor code.
The approach you mention gives an effect similar to `geom_jitter` but is unaware of point density.
June 13, 2025 at 03:49 am - Permalink