【问题标题】:display mean instead of median in boxplot matlab在箱线图matlab中显示平均值而不是中位数
【发布时间】:2018-08-15 00:21:39
【问题描述】:

我有下面的示例代码:

A = [16 20 15 17 22 19 17]';
 B = [22 15 16 16 16 18]';
 C = [23 9 15 18 13 27 17 14 16 15 21 19 17]';

 group = [ ones(size(A));
          2 * ones(size(B));
          3;
          4 * ones(size(C))
           ];

       figure();
           boxplot([A; B; NaN; C],group);
             set(gca,'XTickLabel',{'A','B','','C'});

我可以在代码中添加什么来显示箱线图中每个向量的平均值而不是中位数(这是 Matlab 的默认设置),我知道如何为一个向量执行此操作,但如果我们有多个箱线图,我需要一些帮助。

有什么建议吗?

【问题讨论】:

标签: matlab mean boxplot


【解决方案1】:

尝试移除中线,然后绘制相关均值 :

A = [16 20 15 17 22 19 17]';
B = [22 15 16 16 16 18]';
C = [23 9 15 18 13 27 17 14 16 15 21 19 17]';
% Calculate means
meanOfA = mean(A);
meanOfB = mean(B);
meanOfC = mean(C);
group = [ ones(size(A));
      2 * ones(size(B));
      3;
      4 * ones(size(C))
       ];

figure;
boxplot([A; B; NaN; C],group);
set(gca,'XTickLabel',{'A','B','','C'});
% Find handle for median line and set visibility off
h = findobj(gca,'Tag','Median');
set(h,'Visible','off');
%plot means as black asterisks.
hold on
plot(1,meanOfA, 'k*')
plot(2,meanOfB, 'k*')
plot(4,meanOfC, 'k*')

【讨论】:

  • 谢谢。有什么办法可以在平均位置添加线条而不是星星?我试过 plot(1,meanOfA, 'k-') 没用。
猜你喜欢
  • 2012-08-31
  • 2011-01-30
  • 1970-01-01
  • 2011-04-19
  • 2015-04-12
  • 1970-01-01
  • 2019-04-02
  • 2015-06-28
  • 2021-03-16
相关资源
最近更新 更多