如何在 matlab 中针对单个轴在单个条形图中表示多个值?

How to represent multiple values in a single bar graph against single axis in matlab?

我想在单个条形图中表示 9 值,单独表示它们很容易,但我想在单个图中准确地表示它们。 观察结果是:

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')

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

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

第一个块(5 行)的示例输出是:

同样,对于其他两个观察结果,我也有单独的图表,我想以相同的顺序在一个条形图中一起表示所有三个图,即一个包含总 9 个条形的条形图,前三个条形应该表示具有 IND DISEQ 条的第一个三个值以及类似的下一组值,直到表示 x 的每个 9 值。

我试过以下但没有得到想要的结果:

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

试试这个:

x=[0.22,0.25,0.22;
   0.34,0.43,0.43;
   0.42,0.53,0.56]

bar(x);
group_labels={'IND Relation' ; 'DIS Relation' ; 'EQ Relation'}
set(gca,'xticklabel',group_labels);
ylabel('F1');