在MATLAB中,boxplot命令可用于生成箱形图。该函数的缺省行为是具有1.5 * IQR(第75百分位 - 第25百分位数)的晶须长度,并且如果需要,该晶须长度可以改变为IQR的另一个倍数。然而,使用特定百分位数作为胡须的限制是不可能的,这是我需要的(在我的情况下是第10和第90百分位)。正如你将在下面的例子中看到的,我已经到了这么远,但遇到了一个问题。从matlab boxplot中删除某些异常值
考虑以下数据:
Box_Data_PFCA = [-3;1;2;3;4;5;5;5;6;40;45;77;7;9;1;2;3;7;7;7;10;11;11;40;30;101;110;150];
label = ['PFOS';'PFOS';'PFOS';'PFOS';'PFOS';'PFOS';'PFOS';'PFOS';'PFOS';'PFOS';'PFOS';'PFOS';'PFOS';'PFOS';...
'PFDA';'PFDA';'PFDA';'PFDA';'PFDA';'PFDA';'PFDA';'PFDA';'PFDA';'PFDA';'PFDA';'PFDA';'PFDA';'PFDA'];
从中我使用defualt MATLAB函数生成的箱线图:
h = boxplot(Box_Data_PFCA,label)
我然后计算我需要生成的箱线图百分: