图片缩略图”itemprop=

raacampbell / sigstar

7.9版本1.76.0.1 (KB) 罗伯•坎贝尔
酒吧和星号,各种情节类型添加意义
4.7
40评级

42下载

更新2018年11月13日

从GitHub

视图版本历史

查看许可GitHub

线条和星号指示显著差异在两组之间的阴谋中常用的生活和社会科学。据我所知,没有添加这些公开可用的MATLAB函数。sigstar便于添加行和意义星号加入一个或多个组的条形图、箱形图,甚至情节。用户只需提供两组的身份和假定值(计算用户使用一个适当的测试)。
* *使用
群体认同定义为轴的位置,或者有选择地、组名称(如果x轴标签字符串)。sigstar提供的假定值转换为适当数量的星号和情节这些线链接的两组。sigstar试图智能位置线和星号不叠覆在现有的情节元素。默认情况下,水平较长的酒吧区段短上面绘制酒吧。这是惯例,它看起来更整洁。用户控制的顺序添加意义酒吧。修改订单提供控制酒吧的垂直位置。这是很重要的获取一个整洁的凌乱的阴谋。

* *更多
有关详细信息,请参阅“帮助sigstar”示例。添加情节元素的处理返回默认情况下,为用户提供优良的控制图的外观。这是很重要的,因为很难提供所有可能的使用场景(见demo_sigstar)。函数应该产生出版质量的结果,但是你可能需要玩图的大小和星号字体大小。

* *注意:如果你有问题或需要支持,你会得到一个答案更快如果你在GitHub上金宝app创建一个问题:https://github.com/raacampbell/sigstar* *

引用作为

罗伯·坎贝尔(2021)。raacampbell / sigstarGitHub (https://github.com/raacampbell/sigstar)。检索

评论和评级(77年)

F.P.张

文森特

得到它!

罗伯•坎贝尔

通过返回的情节处理应该是可能的。所有插件通过这些图都是事后处理。看到demo_sigstar。m函数。

李魏

大卫Jimenez-Grande

彼得·P

丹尼尔Strahnen

非常有用,但仍存在一个问题:因为我有两个图形,因此两个y的值对应于一个x值我不能用你的函数来显示两个significane x值相同的两个点之间的界线。
你有什么建议关于如何解决这个问题?

罗伯•坎贝尔

我不惊讶的事情发生了。老实说,我不认为我曾经使用这个函数。我写的这一天我很无聊,因为我意识到很多人喜欢意义指标但MATLAB没有工具来显示它们。欢迎你来叉和修复,我将回顾拉请求。我现在不能提供更多的比,我害怕。检查你的修复至少不混乱的行为中提供的示例文档文本和演示功能。

Aiyush

我也注意到,基于一个偏移量的计算从myRange (ylim)。然而,有时我们有标准差误差高于结果比较。,线在5%之间的垂直距离是很好,但垂直距离的最高点条形图,不是。你有什么建议,如何做到这一点呢?我可以发送一个示例图哪里有性病线和线之间的重叠。

罗伯•坎贝尔

南表明情况下你想要显示“n”。Simply omitting the comparison, as you did, is the correct approach to achieve what you're after.

Aiyush

我知道如果是这样假定值不显著时,显示“n。的假定值时是可以的,但南,我认为在默认情况下,它不应该画线或显示任何东西。无论如何,我只做你所说的,而不是sigstar呼吁NaN值。

罗伯•坎贝尔

Aiyush,关键是,有时你想表明,一双团体并不重要。南选项提供。我不懂为什么如果不是重要不应该有一个比较。你可以删除行因果通过删除与这条线相关的处理。

Aiyush

我喜欢它,但我希望有一种方法来禁用假定值时画的比较行南。也就是说,类似
如果(isnan (p))
不调用makeSignifianceBar ()
结束

玛琳·伯克

阿历克斯勒Marois

非常有用的。非常感谢!

一个宁

很有用! ! ! ! ! ! ! ! ! ! ! !好工作!

大卫Angulo-Garcia

谢谢兄弟”。优秀的提交。为我节省了很多时间。

f.lusk

工作好了!现在用它为我的毕业论文,实现它在10分钟。节省了大量的手工编辑时间。谢谢你!

弗朗西斯科·罗西

桃瑞丝

Z Z

非常好的工具箱

Jan Watteyne

克里斯汀埃勒

神奇的功能!我可以想象这正是许多人正在寻找。不幸的是,丢失的一件事为我的目的,我想我要评论,以防他人需要。我,不幸的是,似乎并不能够将分组误差和意义酒吧酒吧图表。我认为这是固有的MATLAB的酒吧函数虽然现在使它正常工作。

罗伯•坎贝尔

托马斯,你能寄给我的代码不能生成正确的结果?理想情况下你可以在Github上创建一个问题吗?这些评论使一个贫穷的支持论坛,我甚至不得到通知从这里(金宝app即使他们启用)。问题可能在findMinY子函数,顺便说一句。

印锑Vanmechelen

有可能使用sigstar如果数据绘图是明显不同于零?我工作相对价值。这将意味着,我只需要一个输入sigtar命令,它目前是不可能的。

托马斯·黑

感谢伟大的功能抢劫——我只有一个问题,我没能解决从下面的评论,也就是在我的条形图,功能未能考虑误差并将频繁情节酒吧最重要的意义。

我试过手动更改的Ydata意义酒吧转变他们,然而文本(恒星或n。)不移动,我不能解决如何改变这个规定。图编辑器中可以移动它,但整个过程需要大量的时间。我想要做的是改变的函数使用Y值误差棒的顶端,以决定在哪里情节意义酒吧,尽管投入大量的时间我不能成功的代码是如何工作的。你能提供一些帮助吗?

托马斯·黑

罗伯•坎贝尔

乔伊,demo_sigstar示例图像生成的函数

乔伊布鲁斯

如何更改y位置的酒吧像第一个图的例子,和你如何改变下行刻度线的长度在第二个图的例子吗?

罗伯•坎贝尔

你可以改变演示使用返回的处理函数。见:“编辑demo_sigstar。m”和“帮助sigstar”
策划行所有数据对在哪里告诉它这么做。只是不要告诉它使这些线和线生产。

Sharah

谢谢你的出色的功能。我想知道例如南,而不是印刷n。我怎样才能使它打印一分钱,也没有行吗?如果我把大于0.05,它将打印不明星,但将会有一条线。如何让它不打印一行吗?

刘暴增

安东尼

罗伯•坎贝尔

@Amanda:
你可以在GitHub页面文件一个问题请求与一个不工作的例子。问题跟踪器的链接在这个页面的右上方。

罗伯•坎贝尔

@Or Gadish你可以联系我通过我的资料页面,我将包括您的更新。然后我会把这个东西放到GitHub方便人们做出贡献。

埃文

有一些问题与线对象使用。我findMinY换成:

函数Y = findMinY_New (x)

oldXLim =得到(gca, XLim);
oldYLim =得到(gca, YLim);

轴紧
集(gca, xlim, x) % Matlab自动re-tightens轴

yLim =得到(gca, yLim);%现在有马克斯y值范围内的所有元素。
Y = max (yLim);

轴正常
集(gca、“XLim”、oldXLim YLim, oldYLim)

阿曼达

你好,我无法在我的酒吧图表正确绘制它。以上出现小垂直破折号和恒星的酒吧……

谁能帮我个忙吗?

谢谢你!

或Gadish

谢谢你抢,这是一个极好的文件,非常感谢。我做了下面的更新版本结合别人的建议和其他几个人。请联系我如果你想要更新版本,尽管我只测试箱线图。

编辑:
1。添加AX作为输入,这样您就可以选择sigstar适用于轴处理。
2。处理单元阵列的输出变化。
3所示。添加必要的能力增加YLim让星星空间/ n。在对象之上。
4所示。增加字体大小增加到明星/ n。下面按照陈魏。
5。固定R2014b和起问题补丁对象通过添加findMinY函数如下每约瑟夫·奥多尔蒂。
如果isempty (p)
p = findobj (ax,“标签”,“盒子”);“
结束

杰奎琳·海因斯

尼基Klaasen

Murty

Murty

非常感谢。

魏陈

很棒的函数,但有人知道如何改变大小的“*”和“n”。?

我发现它。

答:改变子函数
“H = makeBar (x, y, p, font_size)”

文本的大小可以改变通过修改H (2):

H(2) =文本(意味着(x(:)),意味着(y) + myRange (ylim) *抵消,明星,…
“HorizontalAlignment”、“中心”,……
“写成BackGroundColor”、“没有”、“字形大小”,font_size);

font_size指定你想要的字体大小。

托拜厄斯Piechowiak

太棒了! !非常感谢分享!

Armen Enikolopov

如果你碰巧策划多个块酒吧相同的轴(例如,有不同的颜色),进行以下更改findMinY(),使它工作。
> xd = p.XData;
就变成了
> xd = cell2mat ({p.XData});


>码= p.YData;
>码= cell2mat ({p.YData});

约瑟夫·奥多尔蒂

处理箱线图新的图形系统中我添加了以下的findMin子功能:

如果isempty (p)
p = findobj (gca、“标签”,“盒子”);
结束

Yeong Seok宋

我怎么能调节明星酒吧工作?实际上,我想画星栏上面我的误差棒

扬思楚普

精彩!

安东尼

嗨,抢劫,

谢谢你分享你的matlab函数。
不幸的是我已经在Matlab R2009b不能运行它。

当我尝试第一个例子:
栏([5,2,1.5])
sigstar ({[1,2], [1,3]})

我有这个错误:
? ? ?错误:文件:sigstar。线:167列:11
表达式或语句是不正确的,可能不平衡({或[。

它看起来像“团体”的输入是不正确的,但我不明白为什么。
你有什么好主意吗?

非常感谢你的帮助。

郑给

很好的工作!谢谢你!

安妮Urai

在2014 b,问题在于子函数Y = findMinY (x)。具体来说,p = findobj (gca、“类型”、“补丁”);返回一个空句柄,因为补丁处理不同。对于一个errorbar sigstar(但没有试过用线条或线,所以这不是一个通解)我解决了这个问题通过改变“补丁”到“errorbar”。

罗伯•坎贝尔

我将研究这种臆测。

亚历山大

不工作在2014 b释放,但看起来不错以前版本中的matlab (2011 b)。

在2014年我得到这个错误:
错误使用阴谋
向量的长度必须相同。

错误sigstar > makeBar(第249行)
H(1) =情节(x (:), y,“- k”,“线宽”,1.5);

错误sigstar(第186行)
H(二世:)= makeBar (xlocs (ii):), thisY,统计数据(ii));

错误demo_sigstar(11行)
H = sigstar(团体、[0.001,0.05,0.04]);

当我试着运行demo_sigstar

ondrej

错误使用阴谋
向量的长度必须相同。

错误sigstar > makeBar(第249行)
H(1) =情节(x (:), y,“- k”,“线宽”,1.5);

错误sigstar(第186行)
H(二世:)= makeBar (xlocs (ii):), thisY,统计数据(ii));

罗伯特。

很好的功能,谢谢分享!

本杰明·迈尔策

是的,这是很有意义的。非常感谢

罗伯•坎贝尔

这是最小的例子:
> > clf
> >栏([1,2,3,4),“分组”)
> > sigstar ([1.1, 2.1])
> > sigstar ([0.9, 1.1])

这说得通吗?每组是围绕一个整数。你也可以通过提取自动化的x值图。但是上面的是初步的。

本杰明·迈尔策

嗨,抢劫
伟大的代码,谢谢。我有一个分组的条形图,想添加意义恒星之间的酒吧在每个组。我认为类似于艾伦的问题。
你能建议吗?

Mahsa

我一直试图改变星号的字体大小,但我不能找到一个方法。我可以很容易地更改线宽。有人做过吗?

罗伯•坎贝尔

艾伦,我真的不明白你的问题。最好的一点是你邮件我脱机与一个例子,你想做什么。

艾伦

这是一个非常有用的脚本,但我努力让组内的sigstar去——例如在x1,有3条,我想把它们之间sigstars而不是把sigstars x1和x2之间。可以有人帮助吗?我已经看到有人问但我还是不确定。

罗伯•坎贝尔

我想我不理解。这个函数只是报告统计结果的一种方式,你已经计算。这是由你来做你的适当统计如果你的组织有不同的大小。

安德烈亚斯

很好工具!

有一个简单的方法来使用“sigstar”组不同的大小,例如10和20个科目

Dimitrios Korkinof

罗伯•坎贝尔

查看示例,应该明确的束缚。你手动选择x值,告诉它画酒吧在这些位置。这几乎是唯一的方法,因为没有办法知道哪个位置你想链接功能。它不能知道这个,因为它不知道您的数据的结构。

机械的公主

我怎么做如果我酒吧情节有超过一条x轴的价值?

罗伯•坎贝尔

丹尼尔,

答案是“是”。On the one hand, yes, you can significance indicators however you want on a line plot. I think Maria's example and those in the function show how to this. On the other hand, *should* you be doing it? What do you mean by "significance of two lines"? In most cases, if you have data that can be plotted along a line, then you should be doing a regression of some sort and reporting the relevant coefficients in the text. It is easy to over-use the graphical significance indicators. To be honest, I myself have never used the sigstar for anything. :)

罗伯

丹尼尔

伟大的工具。有机会检查的意义,情节?

我想看看在10:5:10线条的重要性。所以以上行一两个明星代表的意义。这是可能的吗?

也许这很类似于玛丽亚的小组比较解决方案,但我无法修改它正确的方式……

塞邦

由于脚本的创造者和玛丽亚,。

珀斯Aeles

罗伯•坎贝尔

棒图!我很高兴这个函数可以处理这类事情。

玛丽亚

谢谢你的快速回答!

我能够找出。这是我的组内和组间比较的例子:


barvalues =兰德(3、5);
errorsL = 0 (3、5);
errorsU = 1 (3、5) * 0.05;
handles.bars =酒吧(barvalues);
抓住
numgroups =大小(barvalues, 1);
numbars =大小(barvalues, 2);

因为我= 1:numbars
x = get (get (handles.bars(我),“孩子们”),“xdata”);
x =意味着(x (3 [1],:));
pos_bars(我:)= x;
handles.errors (i) = errorbar (x, barvalues(:,我),errorsL(:,我),errorsU(:,我),“k”,“线型”,“没有”,“线宽”,1);
结束
handles.pos_bars = pos_bars;
comp_wgroups = {[handles.pos_bars (1) handles.pos_bars (2)),…
[handles.pos_bars (1) handles.pos_bars (3)],…
[handles.pos_bars (1) handles.pos_bars (4)],…
[handles.pos_bars (2), handles.pos_bars (3)],…
[handles.pos_bars (2), handles.pos_bars (4)],…
[handles.pos_bars (3), handles.pos_bars (4)]};
sigstar (comp_wgroups)

comp_bgroups = {[handles.pos_bars (5), handles.pos_bars (6)],…
[handles.pos_bars (5), handles.pos_bars (7)],…
[handles.pos_bars (5), handles.pos_bars (8)]};
sigstar (comp_bgroups)

罗伯•坎贝尔

当然,这里有一个例子:
> > clf
> >栏(兰德(3、5))
> > sigstar ([1,2])

我只是测试它,它工作。

玛丽亚

这个函数是伟大的,我在寻找什么!

但我仍然不能使它工作分组条形图。你能提供一个例子吗?

罗伯•坎贝尔

费利克斯,我提交了一个更新,应该解决的问题分组误差。

费利克斯

不幸的是它不处理分组的条形图。
这两组之间添加行和asteriks酒吧,但它给出了错误:
“未定义的函数或方法“lt”输入参数类型的‘细胞’。”在findMinY…
它很难添加这个功能吗?

MATLAB版本兼容性
创建R2015b
兼容任何释放
平台的兼容性
窗户 macOS Linux

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!