• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Matlab boxplot for Multiple Groups(多组数据的箱线图)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
在画之前首先介绍一下Matlab boxplot下面这段说明内容来自http://www.plob.org/2012/06/10/2153.html
 

由于matlab具有强大的计算功能,用其统计数据功能优点显而易见,这里分享使用matlab中的boxplot的一些技巧,供大家参考。

Matlab boxplot命令

格式如下

boxplot(X)产生矩阵X的每一列的盒图和“须”图,“须”是从盒的尾部延伸出来,并表示盒外数据长度的线,如果“须”的外面没有数据,则在“须”的底部有一个点。 www.iLoveMatlab.cn

boxplot(X,notch)当notch=1时,产生一凹盒图,notch=0时产生一矩箱图。

boxplot(X,notch,\'sym\')sym表示图形符号,默认值为“+”。

boxplot(X,notch,\'sym\',vert) %当vert=0时,生成水平盒图,vert=1时,生成竖直盒图(默认值vert=1)。 Matlab中文论坛

boxplot(X,notch,\'sym\',vert,whis) %whis定义“须”图的长度,默认值为1.5,若whis=0则boxplot函数通过绘制sym符号图来显示盒外的所有数据值。

箱线图(Boxplot)也称箱须图(Box-whisker Plot),是利用数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值来描述数据的一种方法,它也可以粗略地看出数据是否具有有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。

画图步骤:

1、画数轴,度量单位大小和数据批的单位一致,起点比最小值稍小,长度比该数据批的全距稍长。

2、画一个矩形盒,两端边的位置分别对应数据批的上下四分位数(Q1和Q3)。在矩形盒内部中位数(Xm)位置画一条线段为中位线。

3、在Q3+1.5IQR(四分位距)和Q1-1.5IQR处画两条与中位线一样的线段,这两条线段为异常值截断点,称其为内限;在F+3IQR和F-3IQR处画两条线段,称其为外限。处于内限以外位置的点表示的数据都是异常值,其中在内限与外限之间的异常值为温和的异常值(mild outliers),在外限以外的为极端的异常值(extreme outliers)。

4、从矩形盒两端边向外各画一条线段直到不是异常值的最远点,表示该批数据正常值的分布区间。

5、用“〇”标出温和的异常值,用“*”标出极端的异常值。相同值的数据点并列标出在同一数据
线位置上,不同值的数据点标在不同数据线位置上。至此一批数据的箱线图便绘出了。统计软件绘制的箱线图一般没有标出内限和外限。:

例子1:

clear

x1=[1,2,2,3,5,3];

x2=[2,5,4,5,8,6];

g1={x1,x2};

%group2

x3=[2,8,9,2,1,6];

x4=[5,4,3,22,11,6];

g2={x3,x4};

%group3

x5=[10,12,22,4];

x6=[12,15,4,25];

g3={x5,x6};

G=cat(1,g1,g2,g3); 

class={1,2,3}

positions = [1 1.25 2 2.25 3 3.25];

boxplot(G,class, \'positions\', positions);

set(gca,\'xtick\',[mean(positions(1:2)) mean(positions(3:4)) mean(positions(5:6)) ])

set(gca,\'xticklabel\',{\'Group1\',\'Group2\',\'Group3\'})

color = [\'c\', \'y\', \'c\', \'y\'];

h = findobj(gca,\'Tag\',\'Box\');

for j=1:length(h)

   patch(get(h(j),\'XData\'),get(h(j),\'YData\'),color(j),\'FaceAlpha\',.5);

end

c = get(gca, \'Children\');

hleg1 = legend(c(1:2), \'Feature1\', \'Feature2\' );

  

 

 

例2: 

boxplot for Multiple Groups(多组数据的箱线图)" src="/default/index/img?u=aHR0cDovL3M2LnNpbmFpbWcuY24vbXc2OTAvMDAyR0hIcHZ6eTZXeGtxTUZnMTY1JjY5MA%3D%3D" alt="Matlab boxplot for Multiple Groups(多组数据的箱线图)" name="image_operate_87151445949542023" width="490" height="357">

数据:BoxPlotData.mat,包含X4058_300和X4058_400两个变量数据

X4058_300=[
0.6010 0.6847 0.6798 0.6700 0.6059 0.6749 0.6453 0.6502 0.6847 0.6700 0.5813 0.6404 0.6749 0.6749 0.6650 0.6502 0.6749 0.6305 0.6355 0.7143; 
0.6207 0.6650 0.6847 0.6749 0.5961 0.6601 0.6404 0.6700 0.6946 0.6897 0.6059 0.6749 0.6650 0.6749 0.6453 0.6502 0.6700 0.6256 0.6256 0.6995 ;
0.6601 0.6700 0.7340 0.7044 0.6355 0.7241 0.6798 0.6897 0.7094 0.6946 0.6256 0.6798 0.7044 0.7389 0.6700 0.6749 0.7143 0.6650 0.6059 0.6502; 
0.7291 0.6108 0.7192 0.7537 0.5862 0.6355 0.6010 0.7143 0.6946 0.6897 0.6453 0.7685 0.7635 0.6404 0.7094 0.7143 0.6108 0.6552 0.7389 0.6897;
0.7044 0.7044 0.7044 0.6847 0.7143 0.6700 0.6650 0.7438 0.7143 0.7143 0.6601 0.6502 0.6995 0.7586 0.7488 0.6897 0.6700 0.6946 0.6897 0.6897; 
0.6355 0.6847 0.7291 0.7143 0.6700 0.7438 0.6700 0.6650 0.7192 0.7044 0.6355 0.6847 0.6749 0.7094 0.6798 0.6453 0.7241 0.6946 0.6108 0.6700 ]

 

X4058_400 =[
0.5922 0.6408 0.6408 0.5825 0.6505 0.6796 0.6214 0.6796 0.6311 0.6505 0.5825 0.6699 0.6602 0.6602 0.7282 0.6602 0.6699 0.7087 0.6505 0.6505 ;
0.6117 0.6311 0.6602 0.6117 0.6505 0.6796 0.6214 0.6990 0.6990 0.6311 0.5922 0.6796 0.6699 0.6408 0.7184 0.6505 0.6602 0.7087 0.6214 0.6796; 
0.6311 0.7184 0.7573 0.6893 0.6311 0.6990 0.6408 0.7087 0.7379 0.6990 0.6699 0.7184 0.6699 0.6699 0.7184 0.6893 0.6699 0.6990 0.6214 0.6990; 
0.6602 0.6311 0.7379 0.6408 0.5922 0.7282 0.5728 0.7087 0.7379 0.7379 0.5728 0.7767 0.7476 0.6214 0.7476 0.6214 0.7379 0.6893 0.6019 0.6699 ;
0.6214 0.7476 0.6311 0.6699 0.6699 0.6311 0.6214 0.6699 0.6796 0.6505 0.5922 0.6796 0.7184 0.6893 0.8058 0.6699 0.6602 0.7184 0.6796 0.6796 ;
0.6117 0.6893 0.7282 0.6602 0.7573 0.7379 0.6408 0.7184 0.7087 0.7087 0.6990 0.6796 0.6214 0.6311 0.7573 0.6602 0.7379 0.6796 0.6796 0.7282 ;]

  

 

Matlab程序:

clear

load BoxPlotData

x01=X4058_300;
x02=X4058_400;

x1 = [x01(1,:);x02(1,:)]\';
x2 = [x01(2,:);x02(2,:)]\';
x3 = [x01(3,:);x02(3,:)]\';
x4 = [x01(4,:);x02(4,:)]\';
x5 = [x01(5,:);x02(5,:)]\';
x6 = [x01(6,:);x02(6,:)]\';
f=figure(1)
x = [x1;x2;x3;x4;x5;x6]; x = x(:);
g1 = [ones(size(x1)); 2*ones(size(x2)); 3*ones(size(x3));4*ones(size(x4));...
    5*ones(size(x5));6*ones(size(x6));]; g1 = g1(:);
g2 = repmat(1:2,120,1); g2 = g2(:);
positions = [[1:6],[7:12]];
bh=boxplot(x, {g2,g1},\'notch\',\'on\',\'whisker\',1,\'colorgroup\',g1, \'factorgap\',[8 1],\'symbol\',\'.\',\'outliersize\',4,\'widths\',0.6,\'positions\',positions)
xlabel(\'Training data size\');
ylabel(\'Mean zero-one error\')
grid on
set(gca,\'YLim\',[0.45,0.85],\'gridLineStyle\', \'-.\');

set(bh,\'linewidth\',1.2);

color = [\'c\', \'y\', \'g\', \'b\',\'o\', \'b\',\'c\', \'y\', \'g\', \'b\',\'o\', \'b\'];
h = findobj(gca,\'Tag\',\'Box\');
mk=findobj(gca,\'tag\',\'Outliers\'); % Get handles for outlier lines.
set(mk,\'Marker\',\'o\'); % Change symbols for all the groups.
 for j=1:length(h)/2
    patch(get(h(j),\'XData\'),get(h(j),\'YData\'),color(4),\'FaceAlpha\',0.01*j);
 end
  for j=(length(h)/2+1):length(h)
    patch(get(h(j),\'XData\'),get(h(j),\'YData\'),color(4),\'FaceAlpha\',0.01*(j-length(h)/2));
 end

set(gca,\'xtick\',[7.5])
% set(gca,\'xtick\',[]);
set(gca,\'XTickLabel\',{\' \'})
 
% Create textbox
annotation(f,\'textbox\',...
    [0.3 0.075 0.035 0.075],...
    \'String\',{\'300\'},...
    \'FitBoxToText\',\'off\',...
    \'EdgeColor\',\'none\');

% Create textbox
annotation(f,\'textbox\',...
    [0.7 0.075 0.035 0.075],...
    \'String\',\'400\',...
    \'FitBoxToText\',\'off\',...
    \'EdgeColor\',\'none\');

  

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB,Figure图两个Legend方法发布时间:2022-07-18
下一篇:
Matlab将多幅图片保存为mat发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap