【发布时间】:2019-12-18 18:32:31
【问题描述】:
我想绘制分组条形图以比较三种方法。我尝试了以下代码,它显示为堆积条形图。请您帮忙
dice =[0, 3, 5];
no_of_region=[42, 12, 5];
figure;
bar(dice',.2,'grouped','FaceColor',[0 .5 .5],'EdgeColor',[0 .9 .9],'LineWidth',1.5)
ylabel('Dice Similarity index')
yyaxis right
bar(no_of_region, .2,'grouped','EdgeColor', 'r', 'LineWidth', 2);
legend('Dice Similarity Index','Number of regions')
legend('Location','northwest')
XTickLabel={'a' ; 'b';'c'};
XTick=[1 2 3]
set(gca, 'XTick',XTick);
set(gca, 'XTickLabel', XTickLabel);
set(gca, 'XTickLabelRotation', 45);
xlabel('Different Methods', 'Fontsize', 16)
ylabel('Number of Regions', 'Fontsize', 16)
title('Comparison of Algorithms', 'fontsize', 20);
set(gcf,'color','w');
【问题讨论】:
-
这些条实际上并没有堆叠,也就是说,当一个条从前一个结束的地方开始时。在您的情况下,它们被绘制在彼此之上,完全覆盖了较小的条。我猜您希望这些条彼此相邻,向左或向右偏移一点?
-
如何设置偏移量?
-
hb=bar(no_of_region,.2,'stacked','EdgeColor', 'r', 'LineWidth', 2);对于 ib = 1:numel(hb) %XData 属性是刻度标签/组中心; XOffset 是每个不同组的偏移量% xData = hb(ib).XData+hb(ib).XOffset;结束没有工作