问题
I am looking for a function to create a so called Beeswarm boxplot. This is very popular plots used in medicine and biology and I was surprised not to find it for MATLAB.
Basically the numerical data for each group are splitted to bins and jitter of points depends on number of points in a particular bin.
Here is an example done with R using BEESWARM function:
Different colors for additional group is very nice feature but it not needed for me now.
回答1:
There is a function on the file exchange called plotSpread that can do these plots:
plotSpread({rand(100,1),randn(100,1)})
data = [randn(50,1);randn(50,1)+3.5]*[1 1];
catIdx = [ones(50,1);zeros(50,1);randi([0,1],[100,1])];
plotSpread(data,'categoryIdx',catIdx,...
'categoryMarkers',{'o','+'},'categoryColors',{'r','b'})
来源:https://stackoverflow.com/questions/9777592/beeswarm-boxplot-scatterplot-for-categorical-data-in-matlab