图片缩略图

地块散布点(蜂窝状地块)

版本1.2.0.0(12.8 kB) 乔纳斯
plotspread绘图数据点的分布,将抖动添加到点以避免重叠。
4.8
19日评级

68下载

更新2017年2月11日

查看版本历史记录

查看许可证

编辑注意:此文件被选为Matlab Central挑选本周

plotSpread允许创建“蜂窝式图”,即在数据点上添加抖动以避免重叠的点分布。
它还允许在数据中指定组以显示分布中的组的分布。
plotSpread最适合使用少量数据点可视化分布。如果点变得太密集,就很难理解分布模式的相对重要性,在这种情况下,应该使用“distributionPlot”。

plotspropread使用优秀的“digricisive_colors”为不同类别选择默认颜色。

此外,.zip文件包含“MyErrorbAR”(内置错误的修改),“重复级别”,以便于列表中的条目轻松重复条目,并“iseven”测试是否均匀。对于“重复性”和“ISEVEN”都有更好的文件交换中的替代方案。

引用

乔纳斯(2021)。地块散布点(蜂窝状地块)(//www.tatmou.com/matlabcentral/fileexchange/37105-plot-spread-points-beeswarm-plot), MATLAB中央文件交换。检索

评论和评级(36.

毛泽Azcorrasedano.

令人敬畏的骚动,但我希望有选择改变标记

魏丽

穆“政府改造”Terol

有谁知道如何旋转XLabel以及如何在颜色标记的基础上彩色每个标签组?
我改变了标签的字体大小(第521行):
开关opt.xyOri
案例'正常'
开关opt.xMode
案例手册'
集(opt.xValues啊,“XTick”,“字形大小”,15);
如果〜isempty(opt.xnames)
集(啊,‘XTickLabel’,opt.xNames)
结束

但是,我不能将标签旋转并在颜色标记的基础上旋转它们。
谢谢。

Emiko Shishido.

气范教授

你好,
我有三组数据A,B和C,我想用不同的颜色/标记把A和B画在同一个类别下。怎么做呢?

蒂姆

我喜欢这个代码并经常使用它,但是我遇到了一个小问题。binWidth允许您设置最小的y轴距离,在此点将展开,但由于它只需要一个输入,它只有在绘制线性数据时才真正有用。我试图用一个对数尺度的y轴来绘制数据,设置一个binWidth值将使低于1的点分散得非常远,而高于1的点分散得很窄。是否有一个简单的修复转换为binWidth作为一个日志函数?

蒂姆

迈克尔·阿什比

谢谢你的这种功能。我想为每个标记单独指定颜色。我有1x5单元格的数据输入,所以尝试了一个匹配的输入到“分发色彩”为1x5单元数组,或者作为3列向量,其中包含所有点的总长度,但获取错误消息'请提交一个颜色(5dist,256种颜色)'。关于最佳方法的任何建议都将非常欣赏到最佳方法/正确的颜色数据格式。谢谢。

安东尼

andreas passos.

您好,我运行推荐的例子:

数据= {RANDN(25,1),RANDN(100,1),RANDN(300,1)};
图,plotSpread(数据、[][],{25分,100分,300分的})

出现以下错误:

使用plotSpread时出错(第170行)
请将选项categoryLabels添加到旧语法中

Untitled2错误(第4行)
图,plotSpread(数据、[][],{25分,100分,300分的})

有什么建议吗?

谢谢

塞缪尔·奥纳亚

杰森特兰

这是一个伟大而有帮助的代码!我选择了'o',','d'和'^'作为我的标记。但是我如何填写它们?目前它们是空的形状标记。另外,我想调整标记大小,但它似乎是下面的线路不适合我。我如何改变标记大小并填写标记?谢谢。

set(findall(3,'type','line','color','k'),' marksize ',16) %改变标记的大小

大卫

Toru Takumi.

直到

伟大的贡献,非常感谢!

一个建议:目前似乎绘制了分布的左/右边缘的点在更接近垂直线的垂直线的居中绘制。在我的一个案例中,我用圆形标记('O')绘制了许多点(〜2000),这导致了图形上的不是非常令人愉悦的效果:中心的点彼此封闭,但沿着左侧的点或者正确的保证金被定位在“顶级”,允许非常繁忙的分销。我知道绘制许多点可能不是理想的理想,但如果一个人想要更好地绘制来自外部 - > OUT - > OUT - > OUT的个人点。希望这不是太令人困惑......

布拉德·施蒂斯

谢谢你的工作,这是一个很好的开始。在Matlab中非常需要点绘图/ beeswarm plot!

如果您正在考虑在此功能上进行任何进一步的工作,请您查看r,在下面的网址上查看r的Beeswarm包吗?

特别是,请考虑执行他的“广场”情节选项?这不会产生随机抖动,这在许多环境中分散了分散注意力。眼睛和大脑在视觉上加工了“方形”蜂鸣的情节。

此外,Matlab现在通过parula函数(R2014b及以后)生成感知一致的颜色。如果可能,适当的代码更改,也请。

http://www.cbs.dtu.dk/~eklund/beeswarm/

里卡多·佩雷斯猎鹰

詹姆斯

Hector Domingo Orozco Perez

你好,我有一个大问题:是否有一种方法可以连接不同条件之间的点?

皮埃尔Megevand

一个非常好的功能,允许各种绘图并填补Matlab的绘图能力中的差距。

Gilgaladt.

乔纳斯

@Rainer, Eric:当plotSpread返回点的句柄时,你可以像这样改变标记的颜色:集(处理{1},“颜色”,“r”);使用另一个字符串或[r,g,b]数组来选择不同的颜色。

埃里克

我遇到了同样的问题,我通过欺骗函数使用两个类别来解决它,其中第二类是空的。我在输入数据上添加了一行NaN,然后创建了一个所有0的categoryIdx向量,只是将结束值设置为1。这使得情节在技术上有两种类型,虽然第二类完全是空的,没有绘制。然后你只需使用categoryColor将你的颜色设置为你需要的任何颜色。

雨淋

伟大的提交。我发现如果只有一个组,没有办法指定标记颜色?它总是默认为蓝色。

乔纳斯

@sneha:plotsproad(数据,'showmm',5)显示标准偏差,plotspread(数据,'showmm',4)显示了平均值的标准误差。

Sneha

有没有办法将错误栏添加到plotspread图表中?

乔纳斯

谢谢你的提示。我会设法解决这个问题的。

尤里K

我发现ictionable_colors函数需要从图像处理工具箱中的makecform函数。不是每一个安装都有它。

乔纳斯

要以编程方式更改标记大小,您可以使用“findall”功能来获取斑点的句柄。假设您希望将标记大小设置为16个黑色标记,并且图数为3,您可以写入
集(findall(3、“类型”、“线”、“颜色”、“k”),“markerSize”,16)

ANA.

你好,

谢谢你的剧本!!真的很有用,但你能告诉我如何改变脚本中的标记大小?

谢谢

Shatrughan.

你好,

好脚本!!您能用CareginyIDX绘制平均值,中位数,错误栏或其他人吗?如果是,怎么样?

谢谢

彼得

它现在运作!!!
非常感谢。

乔纳斯

“ismatrix”直到2010年才出现。我已经尝试和失败安装2009b今天,所以我不能确保我没有包括另一个不兼容的函数调用。你能测试新版本吗?

彼得

我实际上正在运行2010A,但我仍然没有它?

乔纳斯

ismatrix是R2009b之后发布的内置函数——很抱歉错误地标记了plotSpread。我正在替换ismatrix,我将上传一个固定的版本

彼得

我测试了你的例子,得到了以下内容:
我想你忘记包括“ismatrix”函数了吧?
---------------------------------
???用于输入参数的未定义功能或方法'ISMatrix'
“双”。

错误在==> plotSpread在196
elseif ismatrix(数据)

Matlab释放兼容性
创建R2009b
兼容任何释放
平台兼容性
视窗 macOS Linux.

社区寻宝

在MATLAB中心找到宝藏,并发现社区可以如何帮助您!

开始狩猎!