在matlab中用不同颜色表示条

Representing bars with different colors in matlab

我有一个包含三个条的条形图,如下所示

x=[0.22,0.34,0.42]
bar(x,0.1,'stacked')
somenames={'IND Relation' ; 'DIS Relation' ; 'EQ Relation'}
set(gca,'xticklabel',somenames)
ylabel('F1')

所有三个条都是蓝色的,但我想用棕色表示 IND Relation,用绿色表示 DIS Relation,用蓝色表示 EQ Relation

以下是输出,我只想按上面的顺序改变颜色browngreenblue

这是您要找的吗?

x = [0.22,0.34,0.42];

h = figure;
a = axes('parent', h);
hold(a, 'on')

colors = {'r', 'b', 'g'};
somenames = {'IND Relation'; 'DIS Relation'; 'EQ Relation'}; 

for i = 1:numel(x)
    b = bar(i, x(i), 0.1, 'stacked', 'parent', a, 'facecolor', colors{i});
end

a.XTick = 1:3;
a.XTickLabel = somenames;

ylabel('F1')