matlab下多组不同大小数据的boxplot绘制

因为matlab的boxplot支持grouping argument(也就是为每一个数据贴所属group标签),所以可以利用这个性质绘制多组且size不同的数据的boxplot

首先,要介绍一下matlab的grouping argument是怎么回事。如下图所示,y是一个1维数组,而g1是一个和y相同大小的数组或者元胞数组,用于表示y中各个数字所属的group(示例图里因为用字母表示group,所以g1是元胞数组,如果用数字表示grope,g1则为数组)

《matlab下多组不同大小数据的boxplot绘制》

然后,只需要使用命令 boxplot(y, g1) 就可以了

举例:

x = rand(5,1);

y = rand(10,1);

z = rand(15,1);

group = [repmat({‘x’}, 5, 1); repmat({‘y‘’}, 10, 1); repmat({‘z’}, 15, 1)];

boxplot([x;y;z], group);

《matlab下多组不同大小数据的boxplot绘制》

[x;y;z] 是合成的长度为25的向量,第1到5属于x,第6到15属于 y,第16到25属于z,group为这25个元素所属的组(即x,y,x)是一个长度为25的数组。这里group的生成使用了repat函数,repat函数的功能是复制和平铺矩阵,以repmat({‘x’}, 5, 1)为例

《matlab下多组不同大小数据的boxplot绘制》

    原文作者:最近很爱番茄酱
    原文地址: https://www.jianshu.com/p/bf3d1a74b45d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞