我正在尝试绘制一个分组条形图,如下图所示。我找到了errorbar()函数,但到目前为止我还不知道它是如何实现的。
这是我的代码。
Y = [0.9322225 0.86225 0.8973;
0.8953635 0.862868 0.8099605;
0.7473585 0.675698 0.80484];
bar(Y, 'grouped')
bar(Y, 'BarWidth', 0.5);
set(gca,'XTickLabel',{'', 'ML', '', 'HSV', '', 'NCC'});
来源:这一数据来自Sanin等人的研究。《阴影检测:对最新方法的综述和比较评价》
2条答案
按热度按时间aemubtdh1#
![
jogvjijk2#
我不是百分之百知道如何复制那个图表,但也许这会帮助你入门。
我在文件交换:http://www.mathworks.com/matlabcentral/fileexchange/30639-bar-chart-with-error-bars/content/barwitherr.m上找到了这个,试着用错误条绘制条形图。它允许使用不对称的错误条,我认为如果您想要使标记不同(如示例中的正方形和圆形),则需要在链接中的代码中更改以下行:
errorbar(mean(x,1),values(xOrder,col),lowerErrors(xOrder,col), upperErrors(xOrder, col), '.k')
类似这样的东西:
此外,如果您希望所有三个组都有标签,请尝试
set(gca,'XTickLabel',{'ML', 'HSV', 'NCC'});
还可以查看
colormap(summer)
和help legend