matlab下多組不同大小數據的boxplot繪制

因為matlab的boxplot支持grouping argument(也就是為每一個數據貼所屬group標簽),所以可以利用這個性質繪制多組且size不同的數據的boxplot

首先,要介紹一下matlab的grouping argument是怎么回事。如下圖所示,y是一個1維數組,而g1是一個和y相同大小的數組或者元胞數組,用于表示y中各個數字所屬的group(示例圖里因為用字母表示group,所以g1是元胞數組,如果用數字表示grope,g1則為數組)

然后,只需要使用命令 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);

[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)為例

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容