我正在寻找一个函数来创建一个所谓的 Beeswarm 箱线图。这是医学和生物学中非常流行的图,我很惊讶没有为 MATLAB 找到它。
基本上,每组的数值数据被分成箱,点的抖动取决于特定箱中的点数。
这是一个使用 R 使用BEESWARM函数完成的示例:
附加组的不同颜色是非常好的功能,但我现在不需要。
文件交换中有一个名为plotSpread的函数可以绘制这些图:
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'})