以下是matlab绘制箱线图的代码
n=10;%n是离散样本点的个数,,,这里样本点的个数可以设的大一些
k=1.5;%k是阈值
%a=rand(1,n)*n;%产生随机数
a=[2.0246,7.6122,6.9196,5.7926,5.6371,3.6518,3.1846,1.6223,0.808,8.6951];
Q1=2.3146;%上四分位线,,上下四分位数可以用excle中QUARTILE函数
Q2=4.64445;%中线
Q3=6.63785;%下四分位线
IQR=Q3-Q1;
down=Q1-k*IQR;%上下截断
up=Q3+k*IQR;
b=a(find(a<Q1));
c=a(find(a>Q3));
d=a(find(a>Q1&a<Q3));
%数组连接起来bdc
aa=[b,d,c];
hold on
plot([0,n+3],[Q1,Q1],'--');%加3是让整幅图画面加大,可以根据需要+4……+5……
plot([0,n+3],[Q2,Q2],'--');
plot([0,n+3],[Q3,Q3],'--');
plot([0,n+3],[up,up],'--');
plot([0,n+3],[down,down],'--');
plot(b,'p')
plot(size(b,2)+1:size(b,2)+size(d,2),d,'bo','MarkerSize',3,'MarkerFaceColor','k')
plot(size(b,2)+size(d,2)+1:size(a,2),c,'bo','MarkerSize',5,'MarkerFaceColor','b')
rectangle('position',[size(b,2)+0.5,Q1,size(d,2),Q3-Q1],'EdgeColor', 'b', 'LineWidth', 3)%画方框
set(gca,'ytick',[down,Q1,Q2,Q3,up]);%在y轴上的部分点进行标记,标记的时候是有大小顺序的
set(gca,'yticklabel',{'down','Q1','Q2','Q3','up'});%style 4
set(gca,'xtick',[]);%将x轴取消掉