首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab框图:使用特定百分位数作为上须,或在手工编辑上须后删除多余的离群值。

Matlab框图:使用特定百分位数作为上须,或在手工编辑上须后删除多余的离群值。
EN

Stack Overflow用户
提问于 2015-01-15 11:17:12
回答 2查看 2.7K关注 0票数 3

对于MATLAB中的盒子图,我想问一下,是否可以用一个特定的百分位数作为上面的晶须。我想用第95百分位数作为上胡须,第5百分位数作为下胡须。

MATLAB的默认行为是晶须长度= 1.5 * IQR (第75百分位数-第25百分位数),而这种晶须长度可以更改为IQR的另一个倍数,但不能更改为特定百分位数。请解释一下改变这种情况的方法。

例如,对于以下100条数据:

50次(重复80次)、76次(重复10次)、91次、92次、93次、94次、95次、96次、97次、98次、99次、100次

或者在MATLAB中:

代码语言:javascript
复制
A([1:80],1) = 50; A([81:90],1) = 76; A([91:100],1) = [91:100]; boxplot(A)

是否有办法在晶须内指定95甚至76?或者上边胡须的价值?

我已经使用以下代码调整了上下晶须(虽然在本例中不需要更低的晶须);但是,此代码不会删除晶须中的异常值,从而使结果看起来不清楚。

代码语言:javascript
复制
p([1:2],1) =prctile(A,[5,95])
h = flipud(findobj(gca,'Tag','Upper Whisker'));
for j=1:length(h);
ydata = get(h(j),'YData');
ydata(2) = p(2,j);
set(h(j),'YData',ydata);
end
% Replace all y values of adjacent value
h = flipud(findobj(gca,'Tag','Upper Adjacent Value'));
for j=1:length(h);
ydata = get(h(j),'YData');
ydata(:) = p(2,j);
set(h(j),'YData',ydata);
end
% Replace lower end y value of whisker
h = flipud(findobj(gca,'Tag','Lower Whisker'));
for j=1:length(h);
ydata = get(h(j),'YData');
ydata(1) = p(1,j);
set(h(j),'YData',ydata);
end
% Replace all y values of adjacent value
h = flipud(findobj(gca,'Tag','Lower Adjacent Value'));
for j=1:length(h);
ydata = get(h(j),'YData');
ydata(:) = p(1,j);
set(h(j),'YData',ydata);
end

任何帮助都将不胜感激!

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-15 13:37:21

您需要添加以下内容:

代码语言:javascript
复制
h = flipud(findobj(gca,'Tag','Outliers'));
for j=1:length(h);
  ydata = get(h(j),'YData');
  xdata = get(h(j),'XData');
  remdata = (ydata >= p(1,j)) & (ydata <= p(2,j));
  ydata(remdata) = [];
  xdata(remdata) = [];
  set(h(j),'XData',xdata,'YData',ydata);
end
票数 0
EN

Stack Overflow用户

发布于 2017-08-15 15:24:06

我尝试了一段时间来理解Matlab中的“标准”或“默认”框图,更具体地说,胡须长度是多少。

当然,该手册给出了一个完全无用的递归定义,即“胡须是从四分位数范围的末端提取到晶须长度内最远处的观测值”。

不过,我认为你说"MATLAB的晶须长度为1.5 IQR“是不正确的。默认情况下,它所做的是查找所有低于(Q25 -1.5IQR)和高于(Q75 +1.5IQR)的样本数据,并将这些数据称为“异常值”。然后,上晶须是样品中不属于上孤立点的最大值,下晶须是不属于较低离群点的最小样本值。

换句话说,晶须之间的总距离不是固定的,等于4 IQR,而是指样品中不属于异常值的最大值和最小值之间的距离。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27962191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档